summaryrefslogtreecommitdiff
path: root/t/t4053-diff-no-index.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2012-06-21 14:09:50 -0400
committerJunio C Hamano <gitster@pobox.com>2012-06-22 10:20:18 -0700
commit546e0fd9e918b2ea3d9943124641d3b6af59a4fe (patch)
tree83ca9e34a696e313314729c50c69ae76e389f22b /t/t4053-diff-no-index.sh
parent785ee4960c3d334cbc2b17ab74d2cebdf1b4db64 (diff)
downloadgit-546e0fd9e918b2ea3d9943124641d3b6af59a4fe.tar.gz
diff: handle relative paths in no-index
When diff-no-index is given a relative path to a file outside the repository, it aborts with error. However, if the file is given using an absolute path, the diff runs as expected. The two cases should be treated the same. Tests and commit message by Tim Henigan. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4053-diff-no-index.sh')
-rwxr-xr-xt/t4053-diff-no-index.sh15
1 files changed, 14 insertions, 1 deletions
diff --git a/t/t4053-diff-no-index.sh b/t/t4053-diff-no-index.sh
index 4dc8c67edc..979e98398b 100755
--- a/t/t4053-diff-no-index.sh
+++ b/t/t4053-diff-no-index.sh
@@ -8,7 +8,12 @@ test_expect_success 'setup' '
mkdir a &&
mkdir b &&
echo 1 >a/1 &&
- echo 2 >a/2
+ echo 2 >a/2 &&
+ git init repo &&
+ echo 1 >repo/a &&
+ mkdir -p non/git &&
+ echo 1 >non/git/a &&
+ echo 1 >non/git/b
'
test_expect_success 'git diff --no-index directories' '
@@ -16,4 +21,12 @@ test_expect_success 'git diff --no-index directories' '
test $? = 1 && test_line_count = 14 cnt
'
+test_expect_success 'git diff --no-index relative path outside repo' '
+ (
+ cd repo &&
+ test_expect_code 0 git diff --no-index a ../non/git/a &&
+ test_expect_code 0 git diff --no-index ../non/git/a ../non/git/b
+ )
+'
+
test_done