Skip to content

fix(deps): update gix - autoclosed - #1339

Closed
ferrlabs-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/gix
Closed

ferrlabs-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/gix

Conversation

@ferrlabs-renovate

@ferrlabs-renovate ferrlabs-renovate Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
gix-diff dependencies minor 0.69 → 0.70
gix-traverse dependencies minor 0.63 → 0.64

Release Notes

GitoxideLabs/gitoxide (gix-diff)

v0.70.0: gix-diff v0.70.0

Compare Source

Bug Fixes
  • apply the rewrite limit to each side like Git
  • only compare rewrite destinations to possible sources
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 iterator
    method 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:

    • 448 lines: about 8.77 us to 6.76-6.87 us.
    • 28,672 lines: about 566-571 us to 447-451 us.

    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
  • 14 commits contributed to the release over the course of 14 calendar days.
  • 14 days passed between releases.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
  • Uncategorized
    • Merge pull request #​3080 from cruessler/add-shortcut-for-trivial-myers-changes (59ba38b)
    • Add benchmark for trivial Myers cases (40a6592)
    • Merge pull request #​3074 from GitoxideLabs/fix/imara-myers-whole-file-occurrences (ad129e1)
    • Force line tokenization into interning loops (b898550)
    • Benchmark gix-diff blob stages, algorithms, and allocation reuse (0fc9377)
    • Merge pull request #​3062 from hashhar/hashhar/rename-limit (d568e8b)
    • Review (02ebc88)
    • Apply the rewrite limit to each side like Git (e571a92)
    • Merge pull request #​3055 from martinvonz/mz/txulrqqtxoln (cd317d3)
    • Review (b7be86d)
    • Only compare rewrite destinations to possible sources (cca6c27)
    • Merge pull request #​3053 from GitoxideLabs/various-improvements (2d8dcc4)
    • Release gix-error v0.5.1, gix-utils v0.5.1 (6d1b686)
    • Merge pull request #​3048 from GitoxideLabs/new-release (5fccccf)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@ferrlabs-renovate
ferrlabs-renovate Bot enabled auto-merge (squash) October 23, 2026 14:17

@ferrfleet-interne ferrfleet-interne Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: doesn't build as-is. gix 0.90 removed the max-performance-safe feature, and Cargo.lock was never updated (Renovate's artifact update failed). See the inline comment.

Comment thread Cargo.toml Outdated

@ferrfleet-interne ferrfleet-interne Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread Cargo.toml
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 }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
gix-traverse = { version = "0.64", optional = true }
gix-traverse = { version = "0.63", optional = true }

@ferrlabs-renovate ferrlabs-renovate Bot changed the title fix(deps): update gix fix(deps): update gix - autoclosed Oct 24, 2026
auto-merge was automatically disabled October 24, 2026 20:11

Pull request was closed

@ferrlabs-renovate
ferrlabs-renovate Bot deleted the renovate/gix branch October 24, 2026 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants