提交 3c568751 编写于 作者: J Junio C Hamano

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: NJunio C Hamano <gitster@pobox.com>
上级 2eac2a4c
......@@ -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 \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册