merge(third_party/git): Merge squashed git subtree at v2.23.0
Merge commit '1b593e1ea4' as 'third_party/git'
This commit is contained in:
commit
7ef0d62730
3629 changed files with 1139935 additions and 0 deletions
161
third_party/git/t/t7010-setup.sh
vendored
Executable file
161
third_party/git/t/t7010-setup.sh
vendored
Executable file
|
|
@ -0,0 +1,161 @@
|
|||
#!/bin/sh
|
||||
|
||||
test_description='setup taking and sanitizing funny paths'
|
||||
|
||||
. ./test-lib.sh
|
||||
|
||||
test_expect_success setup '
|
||||
|
||||
mkdir -p a/b/c a/e &&
|
||||
D=$(pwd) &&
|
||||
>a/b/c/d &&
|
||||
>a/e/f
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git add (absolute)' '
|
||||
|
||||
git add "$D/a/b/c/d" &&
|
||||
git ls-files >current &&
|
||||
echo a/b/c/d >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
|
||||
test_expect_success 'git add (funny relative)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
(
|
||||
cd a/b &&
|
||||
git add "../e/./f"
|
||||
) &&
|
||||
git ls-files >current &&
|
||||
echo a/e/f >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git rm (absolute)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
git add a &&
|
||||
git rm -f --cached "$D/a/b/c/d" &&
|
||||
git ls-files >current &&
|
||||
echo a/e/f >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git rm (funny relative)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
git add a &&
|
||||
(
|
||||
cd a/b &&
|
||||
git rm -f --cached "../e/./f"
|
||||
) &&
|
||||
git ls-files >current &&
|
||||
echo a/b/c/d >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git ls-files (absolute)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
git add a &&
|
||||
git ls-files "$D/a/e/../b" >current &&
|
||||
echo a/b/c/d >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git ls-files (relative #1)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
git add a &&
|
||||
(
|
||||
cd a/b &&
|
||||
git ls-files "../b/c"
|
||||
) >current &&
|
||||
echo c/d >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git ls-files (relative #2)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
git add a &&
|
||||
(
|
||||
cd a/b &&
|
||||
git ls-files --full-name "../e/f"
|
||||
) >current &&
|
||||
echo a/e/f >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'git ls-files (relative #3)' '
|
||||
|
||||
rm -f .git/index &&
|
||||
git add a &&
|
||||
(
|
||||
cd a/b &&
|
||||
git ls-files "../e/f"
|
||||
) >current &&
|
||||
echo ../e/f >expect &&
|
||||
test_cmp expect current
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'commit using absolute path names' '
|
||||
git commit -m "foo" &&
|
||||
echo aa >>a/b/c/d &&
|
||||
git commit -m "aa" "$(pwd)/a/b/c/d"
|
||||
'
|
||||
|
||||
test_expect_success 'log using absolute path names' '
|
||||
echo bb >>a/b/c/d &&
|
||||
git commit -m "bb" "$(pwd)/a/b/c/d" &&
|
||||
|
||||
git log a/b/c/d >f1.txt &&
|
||||
git log "$(pwd)/a/b/c/d" >f2.txt &&
|
||||
test_cmp f1.txt f2.txt
|
||||
'
|
||||
|
||||
test_expect_success 'blame using absolute path names' '
|
||||
git blame a/b/c/d >f1.txt &&
|
||||
git blame "$(pwd)/a/b/c/d" >f2.txt &&
|
||||
test_cmp f1.txt f2.txt
|
||||
'
|
||||
|
||||
test_expect_success 'setup deeper work tree' '
|
||||
test_create_repo tester
|
||||
'
|
||||
|
||||
test_expect_success 'add a directory outside the work tree' '(
|
||||
cd tester &&
|
||||
d1="$(cd .. ; pwd)" &&
|
||||
test_must_fail git add "$d1"
|
||||
)'
|
||||
|
||||
|
||||
test_expect_success 'add a file outside the work tree, nasty case 1' '(
|
||||
cd tester &&
|
||||
f="$(pwd)x" &&
|
||||
echo "$f" &&
|
||||
touch "$f" &&
|
||||
test_must_fail git add "$f"
|
||||
)'
|
||||
|
||||
test_expect_success 'add a file outside the work tree, nasty case 2' '(
|
||||
cd tester &&
|
||||
f="$(pwd | sed "s/.$//")x" &&
|
||||
echo "$f" &&
|
||||
touch "$f" &&
|
||||
test_must_fail git add "$f"
|
||||
)'
|
||||
|
||||
test_done
|
||||
Loading…
Add table
Add a link
Reference in a new issue