-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update rust crate gix to 0.66.0 #14477
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @epage (or someone else) some time within the next two weeks. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
@Byron any thoughts on whether we should turn this on? |
Ah 0.65 was yanked. That is why the two changlogs look the same. |
@Byron FYI the changelog is missing a breaking change
|
I would not, and don't think any traversal is currently used in Cargo. What seems like a traversal, the directory listing, uses it's own single-threaded implementation.
This is known and the reason for anyone using the My recommendation is to skip this upgrade. |
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
0.64.0
->0.66.0
Release Notes
Byron/gitoxide (gix)
v0.66.0
: gix v0.66.0Compare Source
New Features
objects::tree::diff::Platform::stats()
to quickly obtain diff-stats.This function is inspired by
git2
which also makes it very simple to obtain.This works by providing
Change::detach()
andChangeDetached::attach()
.Reference::follow_to_object()
It's an equivalent to
git2::Reference::resolve()
.`Repository::diff_resource_cache_for_tree_diff()
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, withthe same name as in
git2
.Repository::find_*()
methods for every object type.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.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.
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()
whenHEAD
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
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 thereference::Iter
can now failas it has to open a packed-refs snapshot.
Commit Statistics
Commit Details
view details
17bd32a
)jj
(7ef1e88
)4fe330e
)f2b522d
)a65a17f
)d19af16
)0f25841
)9ed2b24
)6990afd
)f8c5d9c
)ba72ee0
)242fedc
)f944e49
)objects::tree::diff::Platform::stats()
to quickly obtain diff-stats. (e079250
)b291de0
)Reference::follow_to_object()
(d986b2b
)Repository::diff_resource_cache_for_tree_diff()
(6c6f946
)Reference::peel_to_kind()
(cdaba84
)gix-ref
(d296ee8
)gix-ref
(5464bfb
)Repository::find_*()
methods for every object type. (98bcb14
)Repository::compute_object_cache_size_for_tree_diffs()
. (63c7a03
)git2
(26748dd
)7b7902e
)#[momo]
directive as it seems to prevent auto-completion in IDEs. (3a339da
)12251eb
)63936e5
)0b28297
)Repository::rev_parse_single()
whenHEAD
was invalid. (e74095e
)7dff447
)remote::Name::to_owned()
to get a static version of it. (8a27454
)29898e3
)Reference::remote_name()
now also provides valid remote names for local tracking branches. (6ac2867
)Reference::peel_to_id_in_place_packed()
to allow passing a packed-buffer snapshot. (c612440
)6f2eb91
)remote::Names
as shortcut to the value returned for all remote names. (7c8f409
)5871fb1
)9fd1090
)f6a4eb9
)33eacfb
)gix-dir
(37c2852
)v0.65.0
: gix v0.65.0Compare Source
New Features
objects::tree::diff::Platform::stats()
to quickly obtain diff-stats.This function is inspired by
git2
which also makes it very simple to obtain.This works by providing
Change::detach()
andChangeDetached::attach()
.Reference::follow_to_object()
It's an equivalent to
git2::Reference::resolve()
.`Repository::diff_resource_cache_for_tree_diff()
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, withthe same name as in
git2
.Repository::find_*()
methods for every object type.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.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.
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()
whenHEAD
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
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 thereference::Iter
can now failas it has to open a packed-refs snapshot.
Commit Statistics
Commit Details
view details
17bd32a
)jj
(7ef1e88
)4fe330e
)f2b522d
)a65a17f
)d19af16
)0f25841
)9ed2b24
)6990afd
)f8c5d9c
)ba72ee0
)242fedc
)f944e49
)objects::tree::diff::Platform::stats()
to quickly obtain diff-stats. (e079250
)b291de0
)Reference::follow_to_object()
(d986b2b
)Repository::diff_resource_cache_for_tree_diff()
(6c6f946
)Reference::peel_to_kind()
(cdaba84
)gix-ref
(d296ee8
)gix-ref
(5464bfb
)Repository::find_*()
methods for every object type. (98bcb14
)Repository::compute_object_cache_size_for_tree_diffs()
. (63c7a03
)git2
(26748dd
)7b7902e
)#[momo]
directive as it seems to prevent auto-completion in IDEs. (3a339da
)12251eb
)63936e5
)0b28297
)Repository::rev_parse_single()
whenHEAD
was invalid. (e74095e
)7dff447
)remote::Name::to_owned()
to get a static version of it. (8a27454
)29898e3
)Reference::remote_name()
now also provides valid remote names for local tracking branches. (6ac2867
)Reference::peel_to_id_in_place_packed()
to allow passing a packed-buffer snapshot. (c612440
)6f2eb91
)remote::Names
as shortcut to the value returned for all remote names. (7c8f409
)5871fb1
)9fd1090
)f6a4eb9
)33eacfb
)gix-dir
(37c2852
)Configuration
📅 Schedule: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.