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>
This commit is contained in:
parent
2eac2a4cc4
commit
3c56875176
@ -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 \
|
||||
|
Loading…
Reference in New Issue
Block a user