Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Release Notes: 0.2.0
What's new since 0.1.1?
git cinnabar git2hgand
git cinnabar hg2gitcommands that allow to translate (possibly abbreviated) git sha1s to mercurial sha1s and vice-versa.
- A "native" helper makes some operations faster. It is not required for git-cinnabar to work, but it can improve performance significantly. Check the Setup instructions in the README file.
- 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 be changed if necessary. Future releases will allow to remove metadata that was created by previous releases but that wouldn't be created with 0.2.0.
- 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.
- Improved logging, which now doesn't require fiddling with the code to get extra logging.
- Made fsck validate more things, and act on more errors.
- Fixed a few edge cases.
- Better handle files with weird names, and that git quotes in its output.
- Extensively tested on the following repositories: mozilla-central, mozilla-beta, mercurial, hg-git, cpython.
What to expect next?
- Allow to push merge commits.
- 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).
- As mentioned above, allow to remove some metadata.
- And more...
If you want to follow the improvements more closely, I encourage you to switch
next branch. I
won't push anything there that hasn't been extensively tested on the above
And as always, please report any issue you run into.