Skip to content

fix: resolve case-insensitive path comparison in Worktree.Status() respecting core.ignorecase - #12

Open
yaqi-2006 wants to merge 1 commit into
jakaramelod:mainfrom
yaqi-2006:feat/case-insensitive-status-fix
Open

fix: resolve case-insensitive path comparison in Worktree.Status() respecting core.ignorecase#12
yaqi-2006 wants to merge 1 commit into
jakaramelod:mainfrom
yaqi-2006:feat/case-insensitive-status-fix

Conversation

@yaqi-2006

Copy link
Copy Markdown

Fixes #1
/claim #1

Summary of Changes

  • Implemented core.ignorecase configuration-aware path comparison and directory scanning in Worktree.Status().
  • Handled case-folding during index-to-worktree file mapping to ensure that case-only filename differences (e.g. README.md vs Readme.md) report IsClean() == true on case-insensitive filesystems when core.ignorecase = true.
  • Preserved case-sensitivity semantics when core.ignorecase = false on Linux filesystems.
  • Added comprehensive unit tests covering clean status on casing mismatch, dirty status on case-sensitive mismatch, modified content detection, and untracked file handling.
  • Verified test suite passes cleanly: go test -v -race ./... (All tests PASSED).

@opirebot

opirebot Bot commented Sep 2, 2026

Copy link
Copy Markdown

😅 Ups... the issue does not have any reward yet!

@yaqi-2006

Copy link
Copy Markdown
Author

/claim #1

Fixes #1

Verified solution with 100% passing tests on case-insensitive path comparison.

@opirebot

opirebot Bot commented Sep 2, 2026

Copy link
Copy Markdown

😅 Ups... the issue does not have any reward yet!

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.

🎯 Fix Case-Insensitive Path Comparison in Worktree.Status() on Case-Insensitive Filesystems

1 participant