fix(deps): update rust crate gix-diff to 0.68 - #1203
ferrlabs-renovate[bot] wants to merge 1 commit into
Conversation
| gix-traverse = { version = "0.61", optional = true } | ||
| gix-diff = { version = "0.67", default-features = false, features = ["sha1"], optional = true } | ||
| gix-diff = { version = "0.68", default-features = false, features = ["sha1"], optional = true } | ||
| ureq = { version = "3", features = ["json"], optional = true } |
There was a problem hiding this comment.
Blocking: this bump splits the gix graph in two. gix 0.87 pins gix-diff ^0.67.1, gix-object 0.64.1 and gix-hash 0.26.2; gix-diff 0.68 pulls gix-object 0.65.0 and gix-hash 0.27.0. The lockfile in this PR now carries both trees side by side (gix-diff 0.67.1 + gix-diff 0.68.0, gix-object 0.64.1 + 0.65.0, gix-hash 0.26.2 + 0.27.0).
src/git/diff.rs crosses that boundary in a single call:
TreeRefIter::from_bytes(...)isgix::objs::TreeRefIter, i.e. gix-object 0.64, butgix_diff::tree()now wants gix-object 0.65's type.&repo.objectssatisfies gix-object 0.64'sFind, not 0.65's.hash_kindfromrepo.object_hash()is gix-hash 0.26'sKind.
Those are distinct types to rustc, so I do not expect this to compile. Test and Build Release Binary were still in progress when I looked, so CI has not confirmed it yet, and automerge is enabled here: the required checks are the only thing holding it.
The fix is not confined to this line, which is why there is no suggestion block. I would drop the direct gix-diff dependency and go through gix's own re-export: gix::diff is ungated in 0.87 and exposes everything src/git/diff.rs uses (gix::diff::tree, gix::diff::tree::Recorder, gix::diff::tree::recorder::Change). That makes this kind of skew structurally impossible and leaves one crate for Renovate to bump instead of two that have to move in lockstep. The alternative is to keep the direct dependency pinned at 0.67 until gix 0.88 moves to gix-object 0.65, and add a Renovate group so the two are always bumped together, but that only defers the same failure to the next release.
This PR contains the following updates:
0.67→0.68Release Notes
GitoxideLabs/gitoxide (gix-diff)
v0.68.0: gix-diff v0.68.0Compare Source
Bug Fixes
skip null-ID lookups in worktree filters
core.autocrlf=inputortext=autocan make worktree diff filtering lookup a null resource ID to inspect indexed line endings. These guaranteed
misses can trigger repeated pack-directory refreshes until
#2853 is merged.
Treat null IDs as a missing index object before consulting the database.
Clarify the worktree resource contract and add a regression test covering
both Git conversion modes and preservation of indexed CRLF content for
real IDs.
Changed (BREAKING)
migrate errors to gix-error
rubberstamp
raise MSRV to Rust 1.88
The newly published
dua-core3.3 release used by linked-worktree removalrequires Rust 1.88, so raise every workspace crate and the advertised badge
together.
Keep the MSRV checks buildable by selecting the latest
sysinfoandrusqliterelease lines that support Rust 1.88.
Commit Statistics
Commit Details
view details
6356013)61ec953)e731790)8d26af7)5596b16)d7551f1)f37685e)a095334)4b42e0c)7e35849)888677a)e3a6fa1)dda600d)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.