github GitoxideLabs/gitoxide gix-dir-v0.31.0
gix-dir v0.31.0

4 hours ago

Bug Fixes

  • keep uninitialized submodules tracked (starship/starship#6881)

    Files placed inside an uninitialized submodule made gix status report the
    submodule directory as untracked, although git status remained clean.
    The walker recognized the indexed gitlink, but still required an on-disk
    repository before treating it as a traversal boundary.

    Use the gitlink itself to establish that boundary, preserving the explicit
    recurse_repositories option. Cover fresh and stale index entries, both
    case-sensitivity modes, nested submodule paths, and the public status API
    with collapsed and individual untracked-file reporting.

    The regression tests first failed with untracked entries and now pass.
    Validated with all gix-dir tests, gix status tests using
    --no-default-features --features basic,extras,comfort, targeted Clippy with
    warnings denied, and cargo fmt --all -- --check.

    Git reference: dir.c::treat_directory() at
    d38352cd43ab9745686d697872408bc3249a153f skips indexed gitlinks regardless
    of whether their submodule repositories are checked out. The tests compare
    against git status --porcelain=v1 --untracked-files=all with Apple Git
    2.54.0.

    Refs starship/starship#6881 (comment)

Reverted (BREAKING)

  • replace fs with gix-fs

    gix-fs already provides the filesystem helpers and recursive walkers.
    Keeping their duplicate implementation in gix-features adds unnecessary
    filesystem dependencies to the foundational feature crate.

    Remove the fs module and the walkdir and fs-read-dir features. Migrate
    workspace callers to gix_fs, move traversal requests to gix-fs/walkdir,
    and update the manifests, lockfile, traversal documentation, and feature
    check script together.

Commit Statistics

  • 8 commits contributed to the release over the course of 13 calendar days.
  • 13 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details

Don't miss a new gitoxide release

NewReleases is sending notifications on new releases.