Hi, 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.
Code on https://github.com/glandium/git-cinnabar This release on https://github.com/glandium/git-cinnabar/releases/tag/0.5.0 What's new since 0.4.0? - git-cinnabar-helper is now mandatory. You can either download one with `git cinnabar download` on supported platforms or build one with `make`. - Performance and memory consumption improvements. - Metadata changes require to run `git cinnabar upgrade`. - Mercurial tags are consolidated in a separate (fake) repository. See the README file. - Updated git to 2.18.0 for the helper. - Improved memory consumption and performance. - Improved experimental support for pushing merges. - Support for [clonebundles](https://www.mercurial-scm.org/wiki/ClonebundlesExtension) for faster clones when the server provides them. - Removed support for the .git/hgrc file for mercurial specific configuration. - Support any version of Git (was previously limited to 1.8.5 minimum) - Git packs created by git-cinnabar are now smaller. - Fixed incompatibilities with Mercurial 3.4 and >= 4.4. - Fixed tag cache, which could lead to missing tags. - The prebuilt helper for Linux now works across more distributions (as long as libcurl.so.4 is present, it should work) - Properly support the `pack.packsizelimit` setting. - Experimental support for initial clone from a git repository containing git-cinnabar metadata. - Now can successfully clone the pypy and GNU octave mercurial repositories. - More user-friendly errors. Development process changes It took about 6 months between version 0.3 and 0.4. It took more than 18 months to reach version 0.5 after that. That's a long time to wait for a new version, considering all the improvements that have happened under the hood. >From now on, the `release` branch will point to the last tagged release, which >is roughly the same as before, but won't be the default branch when cloning >anymore. The default branch when cloning will now be `master`, which will receive changes that are acceptable for dot releases (0.5.x). These include: - Changes in behavior that are backwards compatible (e.g. adding new options which default to the current behavior). - Changes that improve error handling. - Changes to existing experimental features, and additions of new experimental features (that require knobs to be enabled). - Changes to Continuous Integration/Tests. - Git version upgrades for the helper. The `next` branch will receive changes for the next "major" release, which as of writing is planned to be 0.6.0. These include: - Changes in behavior. - Changes in metadata. - Stabilizing experimental features. - Remove backwards compability with older metadata (< 0.5.0). Mike