Skip to content

fix(deps): update rust crate gix-traverse to 0.63 - #1204

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

ferrlabs-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/gix-traverse-0.x

Conversation

@ferrlabs-renovate

@ferrlabs-renovate ferrlabs-renovate Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
gix-traverse dependencies minor 0.61 → 0.63

Release Notes

GitoxideLabs/gitoxide (gix-traverse)

v0.63.0: gix-traverse v0.63.0

Compare Source

Commit Statistics
  • 5 commits contributed to the release over the course of 13 calendar days.
  • 13 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
  • Uncategorized
    • Prepare changelogs prior to release (794eeef)
    • Merge pull request #​3032 from GitoxideLabs/sec-audit (1d7bac7)
    • Merge pull request #​3033 from GitoxideLabs/gix-cli-progress-cleanup (80f4b03)
    • Merge pull request #​3022 from GitoxideLabs/release-testtools (f819565)
    • Merge pull request #​3020 from GitoxideLabs/report-september (5fb3dcf)

v0.62.0: gix-traverse v0.62.0

Compare Source

Bug Fixes
  • Keep rust workspace tests inside disposable repositories and isolated environments

    Direct Git launches inherited repository selectors and user configuration even
    when tests supplied a fixture working directory. Tests of default-environment
    APIs and local Git transports also shared the runner's environment. A few
    journey tests wrote beneath source directories or used the source checkout as
    the repository under test.

    Use the shared gix-testtools Git command builder for subprocess setup, isolated
    repository options for fixtures, and isolated child processes where the real
    environment-reading API must be exercised. Scope CWD changes, copy the fixture
    used by an object-write test, and run shell journeys through jtt run. Keep
    journey worktrees and example output within their disposable sandboxes and
    replace the attributes checkout test with a representative fixture repository.
    Prompt examples also run in isolated children and must build successfully; the
    old tests could ignore build failures and execute stale cached binaries.

    The affected Rust crate suites, internal test-tool build, and max-pure journey
    suite pass from a source copy without Git metadata. Signing and Git-daemon
    checks use only disposable keys, repositories, and local sockets.

Changed (BREAKING)
  • migrate errors to gix-error

    rubberstamp

  • raise MSRV to Rust 1.88

    The newly published dua-core 3.3 release used by linked-worktree removal
    requires Rust 1.88, so raise every workspace crate and the advertised badge
    together.

    Keep the MSRV checks buildable by selecting the latest sysinfo and rusqlite
    release lines that support Rust 1.88.

Commit Statistics
  • 7 commits contributed to the release over the course of 33 calendar days.
  • 34 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 #​2847 from GitoxideLabs/gix-error-completion (6356013)
    • Migrate errors to gix-error (ac0dca1)
    • Merge pull request #​2990 from GitoxideLabs/various-improvements (c609062)
    • Keep rust workspace tests inside disposable repositories and isolated environments (4e0f8ff)
    • Merge pull request #​2949 from GitoxideLabs/error-conversion-review (a095334)
    • Raise MSRV to Rust 1.88 (4b42e0c)
    • Merge pull request #​2933 from GitoxideLabs/report-august (b8914ff)

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) September 26, 2026 12:03

@ferrfleet ferrfleet 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.

One blocking issue: this bump is only valid together with gix 0.88, so it breaks the build on its own. Detail inline.

Two things worth fixing beyond this PR:

Group the gix crates in Renovate. #1202 (gix 0.88), #1203 (gix-diff 0.68) and this one are one upstream release split three ways. Each is red alone and automerge is enabled, so a packagePatterns: ["^gix"] group that lands them in a single commit is the fix, not merging them in some lucky order.

Nit: drop the direct gix-traverse and gix-diff dependencies. gix re-exports both unconditionally (gix::traverse, gix::diff re-exports all of gix_diff), so src/git/tags.rs can use gix::traverse::commit::simple::CommitTimeOrder and the two entries plus their dep: items in the cli feature list can go. The versions then track gix by construction and this whole class of PR stops existing. I did not put it in a suggestion block because it spans Cargo.toml and src/git/tags.rs and is a separate change from the version bump.

CI was still running when I looked (Test, Build Release Binary, Coverage all in progress), so I have not seen the compile failure confirmed by the build; the conclusion is from the lockfile and the crates.io requirement for gix 0.87.1.

Comment thread Cargo.toml Outdated
colored = { version = "3", optional = true }
gix = { version = "0.87", default-features = false, features = ["sha1", "max-performance-safe", "revision"], optional = true }
gix-traverse = { version = "0.61", optional = true }
gix-traverse = { version = "0.62", 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: this cannot compile on its own. gix 0.87.1 requires gix-traverse ^0.61.0, so cargo keeps both versions side by side — visible in the lockfile, where gix still lists gix-traverse 0.61.0 while the root package moves to 0.62.0, dragging in a duplicate gix-object/gix-hash/gix-revwalk/gix-error stack.

src/git/tags.rs:240 passes gix_traverse::commit::simple::CommitTimeOrder (now 0.62) into gix::revision::walk::Sorting::ByCommitTime, which is 0.61's type. Two distinct crate versions means two distinct types, so that is an E0308 mismatch.

The coherent upgrade is gix 0.88 + gix-traverse 0.62 + gix-diff 0.68 in one commit. As three separate PRs (#1202, #1203, this one) each is individually broken, and automerge is on.

@ferrlabs-renovate
ferrlabs-renovate Bot force-pushed the renovate/gix-traverse-0.x branch from 11ac24d to e548c32 Compare October 9, 2026 10:11
@ferrlabs-renovate ferrlabs-renovate Bot changed the title fix(deps): update rust crate gix-traverse to 0.62 fix(deps): update rust crate gix-traverse to 0.63 Oct 9, 2026
@BryanFRD

Copy link
Copy Markdown
Contributor

Superseded by #1299, which bumps gix, gix-diff and gix-traverse together. Bumped one at a time they leave two gix-object versions in the lockfile and the build fails on duplicated types.

@BryanFRD BryanFRD closed this Oct 10, 2026
auto-merge was automatically disabled October 10, 2026 08:25

Pull request was closed

@ferrlabs-renovate
ferrlabs-renovate Bot deleted the renovate/gix-traverse-0.x branch October 10, 2026 10:05
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.

1 participant