Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-02-27 21:33:53 +0300
committerJunio C Hamano <gitster@pobox.com>2018-02-27 21:33:53 +0300
commit2ac76d8d9dccaaecf3c01845d0f7c1808c75722b (patch)
treec41cfd61f019926cbf7699a4e6813b8c10f534da /t
parentee9db32d42a4b628157ecd395305d83cc630f7aa (diff)
parentc95525e90d2f3c75b879ce51fd17d263a6452de3 (diff)
Merge branch 'bp/name-hash-dirname-fix'
"git add" files in the same directory, but spelling the directory path in different cases on case insensitive filesystem, corrupted the name hash data structure and led to unexpected results. This has been corrected. * bp/name-hash-dirname-fix: name-hash: properly fold directory names in adjust_dirname_case()
Diffstat (limited to 't')
-rwxr-xr-xt/t0050-filesystem.sh16
1 files changed, 15 insertions, 1 deletions
diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh
index b29d749bb7..192c94eccd 100755
--- a/t/t0050-filesystem.sh
+++ b/t/t0050-filesystem.sh
@@ -80,7 +80,21 @@ test_expect_success 'merge (case change)' '
git merge topic
'
-
+test_expect_success CASE_INSENSITIVE_FS 'add directory (with different case)' '
+ git reset --hard initial &&
+ mkdir -p dir1/dir2 &&
+ echo >dir1/dir2/a &&
+ echo >dir1/dir2/b &&
+ git add dir1/dir2/a &&
+ git add dir1/DIR2/b &&
+ git ls-files >actual &&
+ cat >expected <<-\EOF &&
+ camelcase
+ dir1/dir2/a
+ dir1/dir2/b
+ EOF
+ test_cmp expected actual
+'
test_expect_failure CASE_INSENSITIVE_FS 'add (with different case)' '
git reset --hard initial &&