зеркало из https://github.com/microsoft/git.git
t3703, t4208: add test cases for magic pathspec
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
0e539dca51
Коммит
6fd09f537c
|
@ -324,6 +324,9 @@ top `/`;;
|
||||||
Currently only the slash `/` is recognized as the "magic signature",
|
Currently only the slash `/` is recognized as the "magic signature",
|
||||||
but it is envisioned that we will support more types of magic in later
|
but it is envisioned that we will support more types of magic in later
|
||||||
versions of git.
|
versions of git.
|
||||||
|
+
|
||||||
|
A pathspec with only a colon means "there is no pathspec". This form
|
||||||
|
should not be combined with other pathspec.
|
||||||
|
|
||||||
[[def_parent]]parent::
|
[[def_parent]]parent::
|
||||||
A <<def_commit_object,commit object>> contains a (possibly empty) list
|
A <<def_commit_object,commit object>> contains a (possibly empty) list
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='magic pathspec tests using git-add'
|
||||||
|
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
test_expect_success 'setup' '
|
||||||
|
mkdir sub anothersub &&
|
||||||
|
: >sub/foo &&
|
||||||
|
: >anothersub/foo
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'add :/' "
|
||||||
|
cat >expected <<-EOF &&
|
||||||
|
add 'anothersub/foo'
|
||||||
|
add 'expected'
|
||||||
|
add 'sub/actual'
|
||||||
|
add 'sub/foo'
|
||||||
|
EOF
|
||||||
|
(cd sub && git add -n :/ >actual) &&
|
||||||
|
test_cmp expected sub/actual
|
||||||
|
"
|
||||||
|
|
||||||
|
cat >expected <<EOF
|
||||||
|
add 'anothersub/foo'
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success 'add :/anothersub' '
|
||||||
|
(cd sub && git add -n :/anothersub >actual) &&
|
||||||
|
test_cmp expected sub/actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'add :/non-existent' '
|
||||||
|
(cd sub && test_must_fail git add -n :/non-existent)
|
||||||
|
'
|
||||||
|
|
||||||
|
cat >expected <<EOF
|
||||||
|
add 'sub/foo'
|
||||||
|
EOF
|
||||||
|
|
||||||
|
test_expect_success 'a file with the same (long) magic name exists' '
|
||||||
|
: >":(icase)ha" &&
|
||||||
|
test_must_fail git add -n ":(icase)ha" &&
|
||||||
|
git add -n "./:(icase)ha"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'a file with the same (short) magic name exists' '
|
||||||
|
mkdir ":" &&
|
||||||
|
: >":/bar" &&
|
||||||
|
test_must_fail git add -n :/bar &&
|
||||||
|
git add -n "./:/bar"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
test_description='magic pathspec tests using git-log'
|
||||||
|
|
||||||
|
. ./test-lib.sh
|
||||||
|
|
||||||
|
test_expect_success 'setup' '
|
||||||
|
test_commit initial &&
|
||||||
|
test_tick &&
|
||||||
|
git commit --allow-empty -m empty &&
|
||||||
|
mkdir sub
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success '"git log :/" should be ambiguous' '
|
||||||
|
test_must_fail git log :/ 2>error &&
|
||||||
|
grep ambiguous error
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success '"git log :" should be ambiguous' '
|
||||||
|
test_must_fail git log : 2>error &&
|
||||||
|
grep ambiguous error
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git log -- :' '
|
||||||
|
git log -- :
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'git log HEAD -- :/' '
|
||||||
|
cat >expected <<-EOF &&
|
||||||
|
24b24cf initial
|
||||||
|
EOF
|
||||||
|
(cd sub && git log --oneline HEAD -- :/ >../actual) &&
|
||||||
|
test_cmp expected actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_done
|
Загрузка…
Ссылка в новой задаче