aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2009-03-07 20:27:22 -0500
committerJunio C Hamano <gitster@pobox.com>2009-03-07 19:54:57 -0800
commit2fb6d6d6dd1033bfe82d6d327ac270f9cf8943cd (patch)
tree4ad772a1c83a7c7665c9f086ab7cce3f7be4b77e
parent8a3b25da8cdd7f3aa75f18d3245ce83aca90bb1a (diff)
downloadgit-2fb6d6d6dd1033bfe82d6d327ac270f9cf8943cd.tar.gz
git-2fb6d6d6dd1033bfe82d6d327ac270f9cf8943cd.tar.xz
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>
-rw-r--r--builtin-ls-files.c4
-rwxr-xr-xt/t3000-ls-files-others.sh14
2 files changed, 15 insertions, 3 deletions
diff --git a/builtin-ls-files.c b/builtin-ls-files.c
index 1742c0f80..437c366c9 100644
--- a/builtin-ls-files.c
+++ b/builtin-ls-files.c
@@ -454,8 +454,8 @@ int cmd_ls_files(int argc, const char **argv, const char *prefix)
OPT_BIT(0, "directory", &dir.flags,
"show 'other' directories' name only",
DIR_SHOW_OTHER_DIRECTORIES),
- OPT_BIT(0, "empty-directory", &dir.flags,
- "list empty directories",
+ OPT_BIT(0, "no-empty-directory", &dir.flags,
+ "don't show empty directories",
DIR_HIDE_EMPTY_DIRECTORIES),
OPT_BOOLEAN('u', "unmerged", &show_unmerged,
"show unmerged files in the output"),
diff --git a/t/t3000-ls-files-others.sh b/t/t3000-ls-files-others.sh
index 36eee0f8a..379d963ce 100755
--- a/t/t3000-ls-files-others.sh
+++ b/t/t3000-ls-files-others.sh
@@ -13,12 +13,13 @@ filesystem.
path2/file2 - a file in a directory
path3-junk - a file to confuse things
path3/file3 - a file in a directory
+ path4 - an empty directory
'
. ./test-lib.sh
date >path0
ln -s xyzzy path1
-mkdir path2 path3
+mkdir path2 path3 path4
date >path2/file2
date >path2-junk
date >path3/file3
@@ -28,6 +29,7 @@ git update-index --add path3-junk path3/file3
cat >expected1 <<EOF
expected1
expected2
+expected3
output
path0
path1
@@ -35,6 +37,8 @@ path2-junk
path2/file2
EOF
sed -e 's|path2/file2|path2/|' <expected1 >expected2
+cat <expected2 >expected3
+echo path4/ >>expected2
test_expect_success \
'git ls-files --others to show output.' \
@@ -53,4 +57,12 @@ test_expect_success \
'git ls-files --others --directory should not get confused.' \
'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