Skip to content

Release Notes: 0.7.0 beta.1

Mike Hommey edited this page Jul 31, 2024 · 2 revisions

What's new since 0.6.3?

  • Based on git 2.46.0.
  • 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.
  • Experimental support for tweaking the similarity level when detecting copies and renames during a push.
  • Experimental support for pushing named branches and tags.