{"id":3513,"date":"2015-04-07T04:18:14","date_gmt":"2015-04-07T02:18:14","guid":{"rendered":"http:\/\/glandium.org\/blog\/?p=3513"},"modified":"2015-04-07T04:18:14","modified_gmt":"2015-04-07T02:18:14","slug":"announcing-git-cinnabar-0-2-0","status":"publish","type":"post","link":"https:\/\/glandium.org\/blog\/?p=3513","title":{"rendered":"Announcing git-cinnabar 0.2.0"},"content":{"rendered":"<p>Git-cinnabar is a git remote helper to interact with mercurial repositories. It allows to clone, pull and push from\/to mercurial remote repositories, using git.<\/p>\n<p><a href=\"https:\/\/github.com\/glandium\/git-cinnabar\">Get it on github<\/a>.<\/p>\n<h2>What's new since 0.1.1?<\/h2>\n<ul>\n<li><code>git cinnabar git2hg<\/code> and <code>git cinnabar hg2git<\/code> commands that allow to translate (possibly abbreviated) git sha1s to mercurial sha1s and vice-versa.<\/li>\n<li>A \"native\" helper that makes some operations faster. It is not required for git-cinnabar to work, but it can improve performance significantly. Check the <a href=\"https:\/\/github.com\/glandium\/git-cinnabar\/blob\/0.2.0\/README#L36\">Setup instructions in the README file<\/a>.<\/li>\n<li>Do not store mercurial metadata when pushing to non-publishing repositories. For Mozilla developers, this means not storing that metadata when pushing to try, which is a good thing when you know each of them makes pulling slower. This behavior can <a href=\"https:\/\/github.com\/glandium\/git-cinnabar\/blob\/0.2.0\/README#L98\">be changed if necessary<\/a>. Future releases will allow to remove metadata that was created by previous releases but that wouldn't be created with 0.2.0.<\/li>\n<li>Made the discovery phase of pushes require less round trips (the phase that finds what is common between the local and remote repositories), hopefully making pushing faster.<\/li>\n<li>Improved logging, which now doesn't require fiddling with the code to get extra logging.<\/li>\n<li>Made fsck validate more things, and act on more errors.<\/li>\n<li>Fixed a few edge cases.<\/li>\n<li>Better handle files with weird names, and that git quotes in its output.<\/li>\n<li>Extensively tested on the following repositories: <a href=\"https:\/\/hg.mozilla.org\/mozilla-central\/\">mozilla-central<\/a>, <a href=\"https:\/\/hg.mozilla.org\/releases\/mozilla-beta\/\">mozilla-beta<\/a>, <a href=\"https:\/\/selenic.com\/hg\/\">mercurial<\/a>, <a href=\"https:\/\/bitbucket.org\/durin42\/hg-git\/\">hg-git<\/a>, <a href=\"https:\/\/hg.python.org\/cpython\/\">cpython<\/a>.<\/li>\n<\/ul>\n<h2>What to expect next?<\/h2>\n<ul>\n<li>Allow to push merge commits.<\/li>\n<li>Improve memory footprint for pushes (currently, it's fairly catastrophic on big repositories ; don't try to push multiple hundreds of commits of a Mozilla-sized repository if you don't have multiple gigabytes of memory available).<\/li>\n<li>As mentioned above, allow to remove some metadata.<\/li>\n<li>And more...<\/li>\n<\/ul>\n<p>If you want to follow the improvements more closely, I encourage you to switch to the <a href=\"https:\/\/github.com\/glandium\/git-cinnabar\/tree\/next\">`next` branch<\/a>. I won't push anything there that hasn't been extensively tested on the above mentioned repositories.<\/p>\n<p>And as always, please <a href=\"https:\/\/github.com\/glandium\/git-cinnabar\/issues\/new\">report any issue<\/a> you run into.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Git-cinnabar is a git remote helper to interact with mercurial repositories. It allows to clone, pull and push from\/to mercurial remote repositories, using git. Get it on github. What&#8217;s new since 0.1.1? git cinnabar git2hg and git cinnabar hg2git commands that allow to translate (possibly abbreviated) git sha1s to mercurial sha1s and vice-versa. A &#8220;native&#8221; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,25],"tags":[23],"class_list":["post-3513","post","type-post","status-publish","format-standard","hentry","category-cinnabar","category-planet-mozilla","tag-en"],"_links":{"self":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3513"}],"version-history":[{"count":5,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3513\/revisions"}],"predecessor-version":[{"id":3518,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3513\/revisions\/3518"}],"wp:attachment":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}