summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2013-08-15 13:51:09 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-08-15 14:16:00 -0700
commit3c56875176390eee7d81795294124ce90189d876 (patch)
tree95a0129acedc77ace14c6ad0ab313bc87153fba3 /t
parentls-files -k: a directory only can be killed if the index has a non-directory (diff)
downloadtgif-3c56875176390eee7d81795294124ce90189d876.tar.xz
t3010: update to demonstrate "ls-files -k" optimization pitfalls
An earlier draft of the previous step used cache_name_exists() to check the directory we were looking at, which missed the second case described in its log message. Demonstrate why it is not sufficient. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t3010-ls-files-killed-modified.sh12
1 files changed, 9 insertions, 3 deletions
diff --git a/t/t3010-ls-files-killed-modified.sh b/t/t3010-ls-files-killed-modified.sh
index 95671c2053..6ea7ca8265 100755
--- a/t/t3010-ls-files-killed-modified.sh
+++ b/t/t3010-ls-files-killed-modified.sh
@@ -11,6 +11,7 @@ This test prepares the following in the cache:
path1 - a symlink
path2/file2 - a file in a directory
path3/file3 - a file in a directory
+ pathx/ju - a file in a directory
and the following on the filesystem:
@@ -21,6 +22,7 @@ and the following on the filesystem:
path4 - a file
path5 - a symlink
path6/file6 - a file in a directory
+ pathx/ju/nk - a file in a directory to be killed
git ls-files -k should report that existing filesystem
objects except path4, path5 and path6/file6 to be killed.
@@ -44,16 +46,17 @@ then
else
date > path1
fi
-mkdir path2 path3
+mkdir path2 path3 pathx
date >path2/file2
date >path3/file3
+>pathx/ju
: >path7
date >path8
: >path9
date >path10
test_expect_success \
'git update-index --add to add various paths.' \
- "git update-index --add -- path0 path1 path?/file? path7 path8 path9 path10"
+ "git update-index --add -- path0 path1 path?/file? pathx/ju path7 path8 path9 path10"
rm -fr path? ;# leave path10 alone
date >path2
@@ -65,7 +68,7 @@ else
date > path3
date > path5
fi
-mkdir path0 path1 path6
+mkdir -p path0 path1 path6 pathx/ju
date >path0/file0
date >path1/file1
date >path6/file6
@@ -73,6 +76,7 @@ date >path7
: >path8
: >path9
touch path10
+>pathx/ju/nk
test_expect_success \
'git ls-files -k to show killed files.' \
@@ -82,6 +86,7 @@ path0/file0
path1/file1
path2
path3
+pathx/ju/nk
EOF
test_expect_success \
@@ -98,6 +103,7 @@ path2/file2
path3/file3
path7
path8
+pathx/ju
EOF
test_expect_success \