diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-11-21 20:39:02 +0900 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-11-21 20:39:03 +0900 |
commit | 9da9fff14d82e1ce055b664f276a5a96d2f5e946 (patch) | |
tree | 0c0affd245c2d30fbb7b55f8d415c48fb87cc03c /entry.c | |
parent | 5e8feea17a4fc8391a3252b926015c917869a140 (diff) | |
parent | e66ceca94b6137dd73cab8b19ba8c890a0055544 (diff) | |
download | git-9da9fff14d82e1ce055b664f276a5a96d2f5e946.tar.gz |
Merge branch 'nd/clone-case-smashing-warning'
Recently added check for case smashing filesystems did not
correctly utilize the cached stat information, leading to false
breakage detected by our test suite, which has been corrected.
* nd/clone-case-smashing-warning:
clone: fix colliding file detection on APFS
Diffstat (limited to 'entry.c')
-rw-r--r-- | entry.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -404,7 +404,7 @@ static void mark_colliding_entries(const struct checkout *state, { int i, trust_ino = check_stat; -#if defined(GIT_WINDOWS_NATIVE) +#if defined(GIT_WINDOWS_NATIVE) || defined(__CYGWIN__) trust_ino = 0; #endif @@ -419,7 +419,7 @@ static void mark_colliding_entries(const struct checkout *state, if (dup->ce_flags & (CE_MATCHED | CE_VALID | CE_SKIP_WORKTREE)) continue; - if ((trust_ino && dup->ce_stat_data.sd_ino == st->st_ino) || + if ((trust_ino && !match_stat_data(&dup->ce_stat_data, st)) || (!trust_ino && !fspathcmp(ce->name, dup->name))) { dup->ce_flags |= CE_MATCHED; break; |