ls-files: fix broken --no-empty-directory
Commit ce8e880
converted ls-files to use parseopt; the
--no-empty-directory option was converted as an
OPT_BIT for "empty-directory" to set the
DIR_HIDE_EMPTY_DIRECTORY flag. However, that makes it do the
opposite of what it should: --empty-directory would hide,
but --no-empty-directory would turn off hiding.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
8a3b25da8c
commit
2fb6d6d6dd
@ -454,8 +454,8 @@ int cmd_ls_files(int argc, const char **argv, const char *prefix)
|
|||||||
OPT_BIT(0, "directory", &dir.flags,
|
OPT_BIT(0, "directory", &dir.flags,
|
||||||
"show 'other' directories' name only",
|
"show 'other' directories' name only",
|
||||||
DIR_SHOW_OTHER_DIRECTORIES),
|
DIR_SHOW_OTHER_DIRECTORIES),
|
||||||
OPT_BIT(0, "empty-directory", &dir.flags,
|
OPT_BIT(0, "no-empty-directory", &dir.flags,
|
||||||
"list empty directories",
|
"don't show empty directories",
|
||||||
DIR_HIDE_EMPTY_DIRECTORIES),
|
DIR_HIDE_EMPTY_DIRECTORIES),
|
||||||
OPT_BOOLEAN('u', "unmerged", &show_unmerged,
|
OPT_BOOLEAN('u', "unmerged", &show_unmerged,
|
||||||
"show unmerged files in the output"),
|
"show unmerged files in the output"),
|
||||||
|
@ -13,12 +13,13 @@ filesystem.
|
|||||||
path2/file2 - a file in a directory
|
path2/file2 - a file in a directory
|
||||||
path3-junk - a file to confuse things
|
path3-junk - a file to confuse things
|
||||||
path3/file3 - a file in a directory
|
path3/file3 - a file in a directory
|
||||||
|
path4 - an empty directory
|
||||||
'
|
'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
date >path0
|
date >path0
|
||||||
ln -s xyzzy path1
|
ln -s xyzzy path1
|
||||||
mkdir path2 path3
|
mkdir path2 path3 path4
|
||||||
date >path2/file2
|
date >path2/file2
|
||||||
date >path2-junk
|
date >path2-junk
|
||||||
date >path3/file3
|
date >path3/file3
|
||||||
@ -28,6 +29,7 @@ git update-index --add path3-junk path3/file3
|
|||||||
cat >expected1 <<EOF
|
cat >expected1 <<EOF
|
||||||
expected1
|
expected1
|
||||||
expected2
|
expected2
|
||||||
|
expected3
|
||||||
output
|
output
|
||||||
path0
|
path0
|
||||||
path1
|
path1
|
||||||
@ -35,6 +37,8 @@ path2-junk
|
|||||||
path2/file2
|
path2/file2
|
||||||
EOF
|
EOF
|
||||||
sed -e 's|path2/file2|path2/|' <expected1 >expected2
|
sed -e 's|path2/file2|path2/|' <expected1 >expected2
|
||||||
|
cat <expected2 >expected3
|
||||||
|
echo path4/ >>expected2
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'git ls-files --others to show output.' \
|
'git ls-files --others to show output.' \
|
||||||
@ -53,4 +57,12 @@ test_expect_success \
|
|||||||
'git ls-files --others --directory should not get confused.' \
|
'git ls-files --others --directory should not get confused.' \
|
||||||
'test_cmp expected2 output'
|
'test_cmp expected2 output'
|
||||||
|
|
||||||
|
test_expect_success \
|
||||||
|
'git ls-files --others --directory --no-empty-directory to show output.' \
|
||||||
|
'git ls-files --others --directory --no-empty-directory >output'
|
||||||
|
|
||||||
|
test_expect_success \
|
||||||
|
'--no-empty-directory hides empty directory' \
|
||||||
|
'test_cmp expected3 output'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user