summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-01-18 15:12:15 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-01-18 15:12:15 -0800
commit00880a17dd1ccad44150c425d5709b767c9326bc (patch)
tree327f0503a8f7b65906d1b847166bdbee1afa616c /t
parentMerge branch 'pb/test-must-fail-is-for-git' (diff)
parentpathspec: give better message for submodule related pathspec error (diff)
downloadtgif-00880a17dd1ccad44150c425d5709b767c9326bc.tar.xz
Merge branch 'sb/pathspec-errors'
Running "git add a/b" when "a" is a submodule correctly errored out, but without a meaningful error message. * sb/pathspec-errors: pathspec: give better message for submodule related pathspec error
Diffstat (limited to 't')
-rwxr-xr-xt/t6134-pathspec-in-submodule.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/t/t6134-pathspec-in-submodule.sh b/t/t6134-pathspec-in-submodule.sh
new file mode 100755
index 0000000000..fd401ca605
--- /dev/null
+++ b/t/t6134-pathspec-in-submodule.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+test_description='test case exclude pathspec'
+
+. ./test-lib.sh
+
+test_expect_success 'setup a submodule' '
+ test_create_repo pretzel &&
+ : >pretzel/a &&
+ git -C pretzel add a &&
+ git -C pretzel commit -m "add a file" -- a &&
+ git submodule add ./pretzel sub &&
+ git commit -a -m "add submodule" &&
+ git submodule deinit --all
+'
+
+cat <<EOF >expect
+fatal: Pathspec 'sub/a' is in submodule 'sub'
+EOF
+
+test_expect_success 'error message for path inside submodule' '
+ echo a >sub/a &&
+ test_must_fail git add sub/a 2>actual &&
+ test_cmp expect actual
+'
+
+cat <<EOF >expect
+fatal: Pathspec '.' is in submodule 'sub'
+EOF
+
+test_expect_success 'error message for path inside submodule from within submodule' '
+ test_must_fail git -C sub add . 2>actual &&
+ test_cmp expect actual
+'
+
+test_done