{"id":55199,"date":"2020-01-15T00:00:00","date_gmt":"2020-01-14T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok"},"modified":"2020-02-18T14:03:17","modified_gmt":"2020-02-18T11:03:17","slug":"tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","title":{"rendered":"Kostnaden f\u00f6r att \u00f6vers\u00e4tta Mercurial till Python 3 kan bli en f\u00f6ljd av o\u00f6nskade fel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Underh\u00e5llare av versionshanteringssystem <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mercurial-scm.org\/\">Mercurial<\/a><\/noindex> slutligen <noindex><a rel=\"nofollow\" href=\"https:\/\/gregoryszorc.com\/blog\/2020\/01\/13\/mercurial%27s-journey-to-and-reflections-on-python-3\/\">sammanfattning<\/a><\/noindex> arbetet med att \u00f6vers\u00e4tta projektet fr\u00e5n Python 2 till Python 3. Trots att de f\u00f6rsta f\u00f6rs\u00f6ken till portering gjordes redan 2008, och anpassningen f\u00f6r att fungera med Python 3 startade under 2015 i en hastig takt, blev m\u00f6jligheten att anv\u00e4nda Python 3 fullt ut f\u00f6rst tillg\u00e4nglig i den senaste versionen av Mercurial 5.2. <\/p>\n<p>Prognoserna f\u00f6r stabiliteten hos porteringen till Python 3 \u00e4r inte lovande. Det f\u00f6rv\u00e4ntas s\u00e4rskilt att det under flera \u00e5r kommer att dyka upp slumpm\u00e4ssiga fel i koden, eftersom testerna inte t\u00e4cker 100 % av kodbasen, och m\u00e5nga problem \u00e4r inte synliga vid statisk analys utan visar sig f\u00f6rst vid k\u00f6rning. Dessutom f\u00f6rblir m\u00e5nga tredjepartsplugin och till\u00e4gg o\u00f6versatta till Python 3.<br \/>\nEftersom det vid porteringen beslutades att gradvis anpassa koden till Python 3, samtidigt som st\u00f6d f\u00f6r Python 2 skulle beh\u00e5llas, har koden f\u00e5tt m\u00e5nga hack f\u00f6r att kombinera Python 2 och 3, vilka kommer att beh\u00f6va rensas bort efter att st\u00f6d f\u00f6r Python 2 upph\u00f6r. <\/p>\n<p>N\u00e4r man kommenterade situationen med Python 3 anser underh\u00e5llaren av Mercurial att beslutet att fr\u00e4mja en bak\u00e5tkompatibilitetsbrytande Python 3 och p\u00e5tvinga det som ett nytt, mer korrekt spr\u00e5k, utan aktuella genombrottsf\u00f6rb\u00e4ttringar f\u00f6r utvecklarna, var ett stort misstag som har orsakat stor skada f\u00f6r gemenskapen och \u00e4r ett exempel p\u00e5 hur stora projekt inte b\u00f6r agera. Ist\u00e4llet f\u00f6r en gradvis \u00f6kning av funktionaliteten och m\u00f6jligheten till inkrementell anpassning av applikationerna, tvingades utvecklarna vid utgivningen av Python 3 att skriva om koden och spendera resurser p\u00e5 att uppr\u00e4tth\u00e5lla separata grenar f\u00f6r Python 2 och Python 3. F\u00f6rst sju \u00e5r efter lanseringen av Python 3.0, i Python 3.5, implementerades funktioner som m\u00f6jliggjorde en smidigare \u00f6verg\u00e5ngsprocess och s\u00e4kerst\u00e4llde att en enda kodbas skulle kunna fungera b\u00e5de med Python 2 och Python 3. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52184\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b \u0438\u0442\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 Python 2 \u043d\u0430 Python 3. \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0435\u0449\u0451 \u0432 2008 \u0433\u043e\u0434\u0443, \u0430 \u0432 \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Python 3 \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u0432 2015 \u0433\u043e\u0434\u0443, \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Python 3 \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0442\u043a\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55199","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0426\u0435\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 Mercurial \u043d\u0430 Python 3 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0448\u043b\u0435\u0439\u0444 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-14T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00d6vers\u00e4ttningen av Mercurial till Python 3 kan leda till en rad of\u00f6rutsedda fel | ProHoster","description":"Underh\u00e5llaren f\u00f6r versionshanteringssystemet Mercurial har misslyckats","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0426\u0435\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 Mercurial \u043d\u0430 Python 3 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0448\u043b\u0435\u0439\u0444 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a | ProHoster","og:description":"\u041c\u044d\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 Mercurial \u043f\u043e\u0434\u0432\u0451\u043b","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/tsenoj-perevoda-mercurial-na-python-3-mozhet-stat-shlejf-nepredvidennyh-oshibok","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-14T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55199","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:48:30","updated":"2022-09-27 21:23:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/55199","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=55199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/55199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=55199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=55199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=55199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}