Repository navigation
fix(deps): update gix - autoclosed - #1339
ferrlabs-renovate[bot] wants to merge 1 commit into
Conversation
634410c to
d67615d
Compare
There was a problem hiding this comment.
The earlier gix 0.90 finding is moot now, so I resolved it. Blocking: the direct gix-traverse 0.64 bump no longer matches the 0.63 that gix 0.89 uses, which breaks CommitTimeOrder in src/git/tags.rs (inline). gix-diff 0.70 also gets duplicated next to gix's 0.69. I didn't find a type crossing for it, but it should stay in lockstep for the same reason.
| gix = { version = "0.89", default-features = false, features = ["sha1", "max-performance-safe", "revision"], optional = true } | ||
| gix-traverse = { version = "0.63", optional = true } | ||
| gix-diff = { version = "0.69", default-features = false, features = ["sha1"], optional = true } | ||
| gix-traverse = { version = "0.64", optional = true } |
There was a problem hiding this comment.
Blocking: gix 0.89 still depends on gix-traverse 0.63 (see the lockfile), so the crate now builds two copies of it. src/git/tags.rs:240 passes gix_traverse::commit::simple::CommitTimeOrder (now 0.64) into gix::revision::walk::Sorting::ByCommitTime (a re-export from 0.63). Those are distinct types, so this should fail with E0308. gix-traverse and gix-diff need to move in lockstep with gix. Pin them back, and group them with gix in the Renovate config so they only bump together. If gix 0.89 re-exports CommitTimeOrder (I haven't checked), importing it from gix::revision::walk would let you drop the direct gix-traverse dep entirely.
| gix-traverse = { version = "0.64", optional = true } | |
| gix-traverse = { version = "0.63", optional = true } |
Pull request was closed
This PR contains the following updates:
0.69→0.700.63→0.64Release Notes
GitoxideLabs/gitoxide (gix-diff)
v0.70.0: gix-diff v0.70.0Compare Source
Bug Fixes
Performance
force line tokenization into interning loops
Profiling the in-memory blob benchmark on macOS arm64 placed about 45% of
samples in
ByteLinesWithoutTerminator::next(). Force this small iteratormethod into its callers so interning avoids a separate call for each line.
The ordinary inline hint did not produce a useful improvement.
Alternating baseline and candidate runs with Rust 1.99 measured roughly
21-23% less interning time on the existing sparse-edit fixtures:
Keep the iterator implementation and public API unchanged. Add direct
coverage for empty inputs and lines, LF/CRLF, an unterminated final CR,
arbitrary bytes, and repeated calls after exhaustion.
Commit Statistics
Commit Details
view details
59ba38b)40a6592)ad129e1)b898550)gix-diffblob stages, algorithms, and allocation reuse (0fc9377)d568e8b)02ebc88)e571a92)cd317d3)b7be86d)cca6c27)2d8dcc4)6d1b686)5fccccf)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate CLI.