Release Notes: 0.7.0 - glandium/git-cinnabar GitHub Wiki

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 fsck to 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 fetch and git cinnabar reclone now handle everything internally instead of delegating to git fetch and git remote, respectively.
  • git cinnabar reclone doesn'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 reclone now only records one metadata update even when pulling from several remotes at the same time.
  • git cinnabar reclone will try to restore as many of the heads it knew about, fetching from skipDefaultUpdate remotes if necessary.
  • git cinnabar reclone --rebase allows 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-run to not report spurious errors.
  • Allow git push --dry-run to 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 clear command, equivalent to git 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.

What's new since 0.7.0-beta.2?

  • Based on git 2.48.1.
  • Minimum Supported Rust Version is now 1.75.0.
  • The curl-compat feature was removed.
  • 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 clear command, equivalent to git cinnabar rollback 0000000000000000000000000000000000000000
  • Fixed httppostargs use with mercurial >= 3.8 < 4.6