diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-12-19 19:33:55 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-12-19 19:33:55 (GMT) |
commit | 6d2c4619a59d53325e6de2265205c407767bde9d (patch) | |
tree | a79c7e9a6cac6d2b8ceafcc7335af9ea0de1c089 /merge-recursive.c | |
parent | 646685460c26d56b149da91544e76150119d9c9b (diff) | |
parent | 4cba2b0108dbf4d5653a4c4d3208b02c6bc415b7 (diff) | |
download | git-6d2c4619a59d53325e6de2265205c407767bde9d.zip git-6d2c4619a59d53325e6de2265205c407767bde9d.tar.gz git-6d2c4619a59d53325e6de2265205c407767bde9d.tar.bz2 |
Merge branch 'en/merge-recursive-icase-removal'
The code internal to the recursive merge strategy was not fully
prepared to see a path that is renamed to try overwriting another
path that is only different in case on case insensitive systems.
This does not matter in the current code, but will start to matter
once the rename detection logic starts taking hints from nearby
paths moving to some directory and moves a new path along with them.
* en/merge-recursive-icase-removal:
merge-recursive: ignore_case shouldn't reject intentional removals
Diffstat (limited to 'merge-recursive.c')
-rw-r--r-- | merge-recursive.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/merge-recursive.c b/merge-recursive.c index a4c280d..2ecf495 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -646,7 +646,7 @@ static int remove_file(struct merge_options *o, int clean, if (ignore_case) { struct cache_entry *ce; ce = cache_file_exists(path, strlen(path), ignore_case); - if (ce && ce_stage(ce) == 0) + if (ce && ce_stage(ce) == 0 && strcmp(path, ce->name)) return 0; } if (remove_path(path)) |