Releases: glandium/git-cinnabar
Releases · glandium/git-cinnabar
0.7.3
0.7.2
What's new since 0.7.1?
- Fixed misbehavior during negotiation with server when pushing from a grafted repository to a repository that doesn't contain all the already known mercurial changesets in the pushed branch.
- Fixed broken graft patch generation that, in practice, is unlikely to happen on real repositories.
cinnabar.cloneandcinnabar.clonebundleconfigs now both allow to use files.git cinnabar self-update --branch releasenow switches to the latest release even when running off the master or next branches.
0.7.1
0.7.0
What's new since 0.6.3?
- Based on git 2.48.1.
- Minimum Supported Rust Version is now 1.75.0.
- The curl-compat feature was removed.
- Fixed
git cinnabar fsckto avoid misreporting weird old Mercurial file history as metadata corruption. - Fixed the creation of empty trees for manifests.
- Fixed access to ssh remotes with absolute paths.
- Fixed cinnabarclone extension with Mercurial >= 6.6.
- Fixed handling cinnabar.refs=heads,tips (backwards incompatible change).
- Various optimizations making clones and pulls faster.
- Made negotiation with repo with large number of heads faster for pull and push.
git cinnabar fetchandgit cinnabar reclonenow handle everything internally instead of delegating togit fetchandgit remote, respectively.git cinnabar reclonedoesn't lose metadata history when a cinnabarclone is used.- A clone with cinnabarclone now only records one metadata update instead of two when there are updates after the cinnabarclone.
git cinnabar reclonenow only records one metadata update even when pulling from several remotes at the same time.git cinnabar reclonewill try to restore as many of the heads it knew about, fetching from skipDefaultUpdate remotes if necessary.git cinnabar reclone --rebaseallows to automatically rebase local branches and detached heads when git commits change after the reclone (e.g. when switching between a plain clone to a grafted clone, or when there was a bug in the original conversion)- cinnabar.check=no-bundle2 now pretends the Mercurial server doesn't support bundle2.
- Updated crate dependencies.
- Many refactors, including the conversion of many functions from C to Rust.
- Fixed
git push --dry-runto not report spurious errors. - Allow
git push --dry-runto create metadata for the changesets the push
would create. - Various changes to download.py and
git cinnabar self-update. - Push errors are now reported per pushed ref.
- I/O errors are more gracefully handled on push.
- The order of git and mercurial messages in the output is now more deterministic.
- The cinnabar.graft configuration can now be set to a url, allowing a one-pass grafted clone, eg. git -c cinnabar.graft=https://github.com/mozilla/gecko-dev clone hg::https://hg.mozilla.org/mozilla-central
- Added a
git cinnabar clearcommand, equivalent togit cinnabar rollback 0000000000000000000000000000000000000000 - Fixed httppostargs use with mercurial >= 3.8 < 4.6
- Experimental support for tweaking the similarity level when detecting copies and renames during a push.
- Experimental support for pushing named branches and tags.
0.7.0-beta.2
What's new since 0.7.0-beta.1?
- Based on git 2.46.2.
- Avoid showing an update notification for the current beta version when it is the latest release.
- Fixed
git push --dry-runto not report spurious errors. - Allow
git push --dry-runto create metadata for the changesets the push would create. - Various changes to download.py and
git cinnabar self-update.
0.7.0-beta.1
/!\ As of version 0.7, some corner cases in Mercurial repositories will generate different git commits than with prior versions of git-cinnabar. This means a fresh clone might have different git SHA-1s than existing clones, but this doesn't impact the use of existing clones with newer versions of git-cinnabar.
Most repositories should remain non-affected by the change.
You can set the cinnabar.compat git configuration to 0.6 to keep the previous behavior.
What's new since 0.6.3?
- Based on git 2.46.0.
- Fixed
git cinnabar fsckto avoid misreporting weird old Mercurial file history as metadata corruption. - Fixed the creation of empty trees for manifests.
- Fixed access to ssh remotes with absolute paths.
- Fixed cinnabarclone extension with Mercurial >= 6.6.
- Fixed handling cinnabar.refs=heads,tips (backwards incompatible change).
- Various optimizations making clones and pulls faster.
- Made negotiation with repo with large number of heads faster for pull and push.
git cinnabar fetchandgit cinnabar reclonenow handle everything internally instead of delegating togit fetchandgit remote, respectively.git cinnabar reclonedoesn't lose metadata history when a cinnabarclone is used.- A clone with cinnabarclone now only records one metadata update instead of two when there are updates after the cinnabarclone.
git cinnabar reclonenow only records one metadata update even when pulling from several remotes at the same time.git cinnabar reclonewill try to restore as many of the heads it knew about, fetching from skipDefaultUpdate remotes if necessary.git cinnabar reclone --rebaseallows to automatically rebase local branches and detached heads when git commits change after the reclone (e.g. when switching between a plain clone to a grafted clone, or when there was a bug in the original conversion)- cinnabar.check=no-bundle2 now pretends the Mercurial server doesn't support bundle2.
- Updated crate dependencies.
- Many refactors, including the conversion of many functions from C to Rust.
- Experimental support for tweaking the similarity level when detecting copies and renames during a push.
- Experimental support for pushing named branches and tags.
0.6.3
0.6.2
0.6.1
What's new since 0.6.0?
- Fixed a self-update issue. If you are using prebuilt binaries and self-update doesn't work from 0.6.0 to 0.6.1, please use download.py.
- Fixed a corner case when avoiding metadata for draft changesets when a root commit was involved.
- Updated crate dependencies.
0.6.0
What's new since 0.5.11?
- Full rewrite of the Python parts of git-cinnabar in Rust.
- Push performance is between twice and 10 times faster than 0.5.x, depending on scenarios.
- Based on git 2.40.0.
git cinnabar fetchnow accepts a--tagsflag to fetch tags.git cinnabar bundlenow accepts a-tflag to give a specific bundlespec.git cinnabar rollbacknow accepts a--candidatesflag to list the metadata sha1 that can be used as target of the rollback.git cinnabar rollbacknow also accepts a--forceflag to allow any commit sha1 as metadata.git cinnabarnow has aself-updatesubcommand that upgrades it when a new version is available. The subcommand is only available when building with theself-updatefeature (enabled on prebuilt versions of git-cinnabar).- Disabled inexact copy/rename detection, that was enabled by accident.
What's new since 0.6.0rc2?
- Fixed use-after-free in metadata initialization.
- Look for the new location of the CA bundle in git-windows 2.40.