diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-08-23 15:34:31 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-08-23 15:34:31 -0700 |
commit | 6133e4da549efbda98565163705af0781b096a4c (patch) | |
tree | c1927b6f9096f182bd48c66fb91e93c616f2b29e /t | |
parent | Merge branch 'maint' (diff) | |
parent | ls-files: fix pathspec display on error (diff) | |
download | tgif-6133e4da549efbda98565163705af0781b096a4c.tar.xz |
Merge branch 'cb/maint-ls-files-error-report'
* cb/maint-ls-files-error-report:
ls-files: fix pathspec display on error
Diffstat (limited to 't')
-rwxr-xr-x | t/t3005-ls-files-relative.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/t/t3005-ls-files-relative.sh b/t/t3005-ls-files-relative.sh new file mode 100755 index 0000000000..a2b63e2c10 --- /dev/null +++ b/t/t3005-ls-files-relative.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +test_description='ls-files tests with relative paths + +This test runs git ls-files with various relative path arguments. +' + +. ./test-lib.sh + +new_line=' +' +sq=\' + +test_expect_success 'prepare' ' + : >never-mind-me && + git add never-mind-me && + mkdir top && + ( + cd top && + mkdir sub && + x="x xa xbc xdef xghij xklmno" && + y=$(echo "$x" | tr x y) && + touch $x && + touch $y && + cd sub && + git add ../x* + ) +' + +test_expect_success 'ls-files with mixed levels' ' + ( + cd top/sub && + cat >expect <<-EOF && + ../../never-mind-me + ../x + EOF + git ls-files $(cat expect) >actual && + test_cmp expect actual + ) +' + +test_expect_success 'ls-files -c' ' + ( + cd top/sub && + for f in ../y* + do + echo "error: pathspec $sq$f$sq did not match any file(s) known to git." + done >expect && + echo "Did you forget to ${sq}git add${sq}?" >>expect && + ls ../x* >>expect && + test_must_fail git ls-files -c --error-unmatch ../[xy]* >actual 2>&1 && + test_cmp expect actual + ) +' + +test_expect_success 'ls-files -o' ' + ( + cd top/sub && + for f in ../x* + do + echo "error: pathspec $sq$f$sq did not match any file(s) known to git." + done >expect && + echo "Did you forget to ${sq}git add${sq}?" >>expect && + ls ../y* >>expect && + test_must_fail git ls-files -o --error-unmatch ../[xy]* >actual 2>&1 && + test_cmp expect actual + ) +' + +test_done |