add Reference::peel_to_kind()
Make it easy to follow a ref and peel it to a given object type.
Additional peel_to_<kind>() shortcuts are also provided, with
the same name as in git2.
add Repository::find_*() methods for every object type.
add Repository::compute_object_cache_size_for_tree_diffs().
With it it's easier to obtain reasonable object cache sizes as optimized
for tree-diffs.
remote::Name::to_owned() to get a static version of it.
Also, add optional serde support.
Reference::remote_name() now also provides valid remote names for local tracking branches.
add Reference::peel_to_id_in_place_packed() to allow passing a packed-buffer snapshot.
This is useful for speeding up reference lookups as otherwise, it will have to validate the packed-buffer
snapshot didn't change internally each time a ref is peeled.
add remote::Names as shortcut to the value returned for all remote names.
Bug Fixes
similarity detection
Previously it would incorrectly count only the last batch of removed bytes, and now it will count all of them. This leads to realistic results with complex diffs, even though it's probably still not en-par with Git which uses more complex heuristics.
prevent panic in Repository::rev_parse_single() when HEAD was invalid.
When using a refspec like HEAD:file.
do not automatically use a parallel directory walk.
This reduces dependencies and can speed-up typical ref-walks as these
don't benefit from this many threads - the overhead here usually outweighs
the benefit.
This can be turned back on based on the expected workload.
Other
make tree-diff more easily discoverable when coming from git2
Bug Fixes (BREAKING)
better peeling performance for reference traversal.
This is done by keeping a packed-buffer around and reusing it, instead
of re-checking it every time.
For this to work, the peeled() function on the reference::Iter can now fail
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps gix from 0.64.0 to 0.66.0.
Release notes
Sourced from gix's releases.
... (truncated)
Commits
b3ff033
Release gix-actor v0.32.0, gix-object v0.44.0, gix-filter v0.13.0, gix-revwal...209b6de
prepare changelog prior to (yet another) release031cd68
fix!: major-version bump to accomodate for the type-change ingix-date
.f218578
Release gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0442121d
manually upgradegix-fs
to use the latest patch level4fe330e
Release gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack ...f2b522d
Release gix-attributes v0.22.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwa...92271a8
another maintenance release of a crate that was just released :/d379555
adjust versions, againa65a17f
Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0....Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show