{"id":3579,"date":"2016-01-15T09:56:40","date_gmt":"2016-01-15T08:56:40","guid":{"rendered":"http:\/\/glandium.org\/blog\/?p=3579"},"modified":"2019-09-03T15:21:16","modified_gmt":"2019-09-03T06:21:16","slug":"announcing-git-cinnabar-0-3-0","status":"publish","type":"post","link":"https:\/\/glandium.org\/blog\/?p=3579","title":{"rendered":"Announcing git-cinnabar 0.3.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<p>These release notes are also <a href=\"https:\/\/github.com\/glandium\/git-cinnabar\/wiki\/Release-Notes:-0.3.0\">available on the git-cinnabar wiki<\/a>.<\/p>\n<p>Development had been stalled for a few months, with many improvements in the <code>next<\/code> branch without any new release. I used some time during the new year break and after in order to straighten things up in order to create a new release, delaying many of the originally planned changes to a future 0.4.0 release.<\/p>\n<h2>What's new since 0.2.2?<\/h2>\n<ul>\n<li>Speed and memory usage were improved when doing <code>git push<\/code>.<\/li>\n<li>Now works on Windows, at least to some extent. See <a href=\"Windows-Support\">details<\/a>.<\/li>\n<li>Support for pre-0.1.0 git-cinnabar repositories was removed. You must first<br \/>\nuse a git-cinnabar version between 0.1.0 and 0.2.2 to upgrade its metadata.<\/li>\n<li>It is now possible to attach\/graft git-cinnabar metadata to existing commits<br \/>\nmatching mercurial changesets. This allows to migrate from some other<br \/>\nhg-to-git tool to git-cinnabar while preserving the existing git commits.<br \/>\nSee <a href=\"Mozilla%3A-Using-a-git-clone-of-gecko%E2%80%90dev-to-push-to-mercurial\">an example of how this works with the git clone of the Gecko mercurial<br \/>\nrepository<\/a>\n<\/li>\n<li>Avoid mercurial printing its progress bar, messing up with git-cinnabar's<br \/>\noutput.<\/li>\n<li>It is now possible to fetch from an incremental mercurial bundle (without<br \/>\na root changeset).<\/li>\n<li>It is now possible to push to a new mercurial repository without <code>-f<\/code>.<\/li>\n<li>By default, reject pushing a new root to a mercurial repository.<\/li>\n<li>Make the connection to a mercurial repository through ssh respect the<br \/>\n<code>GIT_SSH<\/code> and <code>GIT_SSH_COMMAND<\/code> environment variables.<\/li>\n<li><code>git cinnabar<\/code> now has a proper argument parser for all its subcommands.<\/li>\n<li>A new <code>git cinnabar python<\/code> command allows to run python scripts or open a python shell with the right sys.path to import the cinnabar module.<\/li>\n<li>All git-cinnabar metadata is now kept under a single ref (although for<br \/>\nconvenience, other refs are created, but they can be derived if necessary).<\/li>\n<li>Consequently, a new <code>git cinnabar rollback<\/code> command allows to roll back to<br \/>\nprevious metadata states.<\/li>\n<li>git-cinnabar metadata now tracks the manifests DAG.<\/li>\n<li>A new <code>git cinnabar bundle<\/code> command allows to create mercurial bundles,<br \/>\nmostly for debugging purposes, without requiring to hit a mercurial server.<\/li>\n<li>Updated git to 2.7.0 for the native helper.<\/li>\n<\/ul>\n<h2>Development process changes<\/h2>\n<p>Up to before this release closing in, the <code>master<\/code> branch was dedicated to<br \/>\nreleases, and development was happening on the <code>next<\/code> branch, until a new<br \/>\nrelease happens.<\/p>\n<p>From now on, the <code>release<\/code> branch will take dot-release fixes and new<br \/>\nreleases, while the <code>master<\/code> branch will receive all changes that are<br \/>\nvalidated through testing (currently semi-automatically tested with<br \/>\nout-of-tree tests based on four real-life mercurial repositories, with<br \/>\nsome automated CI based on in-tree tests used in the future).<\/p>\n<p>The <code>next<\/code> branch will receive changes to be tested in CI when things<br \/>\nwill be hooked up, and may have rewritten history as a consequence of<br \/>\nwanting passing tests on every commit on <code>master<\/code>.<\/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. These release notes are also available on the git-cinnabar wiki. Development had been stalled for a few months, with many improvements in the next branch without any [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,25],"tags":[23],"class_list":["post-3579","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\/3579","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=3579"}],"version-history":[{"count":6,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3579\/revisions"}],"predecessor-version":[{"id":3647,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3579\/revisions\/3647"}],"wp:attachment":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}