summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d0080b3)
raw | patch | inline | side by side (parent: d0080b3)
author | Carl Worth <cworth@cworth.org> | |
Tue, 21 Feb 2006 20:48:30 +0000 (12:48 -0800) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 22 Feb 2006 02:37:36 +0000 (18:37 -0800) |
Signed-off-by: Junio C Hamano <junkio@cox.net>
Documentation/git-ls-files.txt | patch | blob | history | |
ls-files.c | patch | blob | history | |
t/t3020-ls-files-error-unmatch.sh | [new file with mode: 0755] | patch | blob |
index fe5341295c55af55d521454ac5ae98b225f1eb32..28dc533d201ad5da8ffcfd8551f6c17896bbe267 100644 (file)
[-x <pattern>|--exclude=<pattern>]
[-X <file>|--exclude-from=<file>]
[--exclude-per-directory=<file>]
+ [--error-unmatch]
[--full-name] [--] [<file>]\*
DESCRIPTION
read additional exclude patterns that apply only to the
directory and its subdirectories in <file>.
+--error-unmatch::
+ If any <file> does not appear in the index, treat this as an
+ error (return 1).
+
-t::
Identify the file status with the following tags (followed by
a space) at the start of each line:
diff --git a/ls-files.c b/ls-files.c
index df93cf2263e34cba6f0dcb9f63c01cef368434e3..27059e204dfc9fe0445ea0623f0c252393015732 100644 (file)
--- a/ls-files.c
+++ b/ls-files.c
continue;
error("pathspec '%s' did not match any.",
pathspec[num] + prefix_offset);
+ errors++;
}
return errors ? 1 : 0;
}
diff --git a/t/t3020-ls-files-error-unmatch.sh b/t/t3020-ls-files-error-unmatch.sh
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# Copyright (c) 2006 Carl D. Worth
+#
+
+test_description='git-ls-files test for --error-unmatch option
+
+This test runs git-ls-files --error-unmatch to ensure it correctly
+returns an error when a non-existent path is provided on the command
+line.
+'
+. ./test-lib.sh
+
+touch foo bar
+git-update-index --add foo bar
+git-commit -m "add foo bar"
+
+test_expect_failure \
+ 'git-ls-files --error-unmatch should fail with unmatched path.' \
+ 'git-ls-files --error-unmatch foo bar-does-not-match'
+
+test_expect_success \
+ 'git-ls-files --error-unmatch should succeed eith matched paths.' \
+ 'git-ls-files --error-unmatch foo bar'
+
+test_done
+1