Skip to content

Commit 6496f7b

Browse files
committed
fix!: refactor ignore-case functionality to actually work.
The new implementation does the same as Git, and initializes an alternative lookup location. All previous implementations with `_icase` suffix were removed without replacement.
1 parent c8ccbe5 commit 6496f7b

File tree

7 files changed

+270
-428
lines changed

7 files changed

+270
-428
lines changed

Cargo.lock

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crate-status.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -658,7 +658,9 @@ The git staging area.
658658
* `stat` update
659659
* [ ] optional threaded `stat` based on thread_cost (aka preload)
660660
* [x] handling of `.gitignore` and system file exclude configuration
661-
* [ ] handle potential races
661+
* [x] lookups that ignore the case
662+
* [ ] multi-threaded lookup table generation with the same algorithm as the one used by Git
663+
* [ ] expand sparse folders (don't know how this relates to traversals right now)
662664
* maintain extensions when altering the cache
663665
* [ ] TREE for speeding up tree generation
664666
* [ ] REUC resolving undo

gix-index/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ gix-traverse = { version = "^0.37.0", path = "../gix-traverse" }
2828
gix-lock = { version = "^13.0.0", path = "../gix-lock" }
2929
gix-fs = { version = "^0.10.0", path = "../gix-fs" }
3030

31+
hashbrown = "0.14.3"
32+
fnv = "1.0.7"
3133
thiserror = "1.0.32"
3234
memmap2 = "0.9.0"
3335
filetime = "0.2.15"

0 commit comments

Comments
 (0)