Skip to content

status: ignore assume-unchanged submodule paths replaced by symlinks#2437

Merged
Sebastian Thiel (Byron) merged 4 commits intomainfrom
copilot/fix-issue-2435-in-gix-crate
Feb 23, 2026
Merged

status: ignore assume-unchanged submodule paths replaced by symlinks#2437
Sebastian Thiel (Byron) merged 4 commits intomainfrom
copilot/fix-issue-2435-in-gix-crate

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 16, 2026

gix status was reporting an untracked entry when a tracked submodule path marked --assume-unchanged was replaced by a symlink. This diverged from Git, which keeps status clean for that case.

  • What changed

    • Updated status classification in gix-dir to treat ASSUME_VALID index entries as “up-to-date” for index/disk kind resolution.
    • This prevents dirwalk from surfacing tracked assume-unchanged paths as untracked when their on-disk type differs (e.g., directory → symlink).
  • Reproduction coverage added

    • Extended make_status_repos.sh with a focused fixture:
      • repo with a committed submodule
      • submodule marked --assume-unchanged
      • submodule path replaced by a symlink
    • Added a status test asserting no emitted status items for this scenario.
  • Key implementation detail

    • Classification now gates on either UPTODATE or ASSUME_VALID:
entry.flags.intersects(
    gix_index::entry::Flags::UPTODATE | gix_index::entry::Flags::ASSUME_VALID
)

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Fix issue 2435 in gix crate status: ignore assume-unchanged submodule paths replaced by symlinks Feb 16, 2026
@Byron
Copy link
Copy Markdown
Member

Copilot rebase.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 19, 2026

Copilot rebase.

I can’t perform git rebase from this environment (push/history-rewrite operations are restricted here). Please run the rebase on the branch from your side; current head is e556a5e.

Copilot AI and others added 3 commits February 23, 2026 06:23
…atus

Co-authored-by: Byron <63622+Byron@users.noreply.github.com>
- cargo fmt && clippy
@Byron Sebastian Thiel (Byron) force-pushed the copilot/fix-issue-2435-in-gix-crate branch from e556a5e to 02a815c Compare February 23, 2026 05:36
@Byron Sebastian Thiel (Byron) marked this pull request as ready for review February 23, 2026 05:37
Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 02a815c79a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "Codex (@codex) review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".

Comment thread gix/tests/gix/status.rs
@Byron Sebastian Thiel (Byron) merged commit dad2a82 into main Feb 23, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gix status shows submodule flagged with --assume-unchanged after replacing by symlink

2 participants