diff options
author | Carl Worth <cworth@cworth.org> | 2006-02-21 12:48:30 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-02-21 18:37:36 -0800 |
commit | c8af25ca0157146de59b992c1f961f1af8465995 (patch) | |
tree | f5d8bcaea15f8dbd89b82c9ba5187a0e9bf0a50c | |
parent | d0080b3cdab3a309385ad3fb3b4d2f6a08212985 (diff) | |
download | git-c8af25ca0157146de59b992c1f961f1af8465995.tar.gz git-c8af25ca0157146de59b992c1f961f1af8465995.tar.xz |
git-ls-files: Fix, document, and add test for --error-unmatch option.
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | Documentation/git-ls-files.txt | 5 | ||||
-rw-r--r-- | ls-files.c | 1 | ||||
-rwxr-xr-x | t/t3020-ls-files-error-unmatch.sh | 27 |
3 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt index fe5341295..28dc533d2 100644 --- a/Documentation/git-ls-files.txt +++ b/Documentation/git-ls-files.txt @@ -14,6 +14,7 @@ SYNOPSIS [-x <pattern>|--exclude=<pattern>] [-X <file>|--exclude-from=<file>] [--exclude-per-directory=<file>] + [--error-unmatch] [--full-name] [--] [<file>]\* DESCRIPTION @@ -72,6 +73,10 @@ OPTIONS 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 df93cf226..27059e204 100644 --- a/ls-files.c +++ b/ls-files.c @@ -758,6 +758,7 @@ int main(int argc, const char **argv) 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 new file mode 100755 index 000000000..d55559e55 --- /dev/null +++ b/t/t3020-ls-files-error-unmatch.sh @@ -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 |