зеркало из https://github.com/microsoft/git.git
56 строки
1.3 KiB
Bash
56 строки
1.3 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
test_description='rerere run in a workdir'
|
||
|
. ./test-lib.sh
|
||
|
|
||
|
test_expect_success SYMLINKS setup '
|
||
|
git config rerere.enabled true &&
|
||
|
>world &&
|
||
|
git add world &&
|
||
|
test_tick &&
|
||
|
git commit -m initial &&
|
||
|
|
||
|
echo hello >world &&
|
||
|
test_tick &&
|
||
|
git commit -a -m hello &&
|
||
|
|
||
|
git checkout -b side HEAD^ &&
|
||
|
echo goodbye >world &&
|
||
|
test_tick &&
|
||
|
git commit -a -m goodbye &&
|
||
|
|
||
|
git checkout master
|
||
|
'
|
||
|
|
||
|
test_expect_success SYMLINKS 'rerere in workdir' '
|
||
|
rm -rf .git/rr-cache &&
|
||
|
"$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . work &&
|
||
|
(
|
||
|
cd work &&
|
||
|
test_must_fail git merge side &&
|
||
|
git rerere status >actual &&
|
||
|
echo world >expect &&
|
||
|
test_cmp expect actual
|
||
|
)
|
||
|
'
|
||
|
|
||
|
# This fails because we don't resolve relative symlink in mkdir_in_gitdir()
|
||
|
# For the purpose of helping contrib/workdir/git-new-workdir users, we do not
|
||
|
# have to support relative symlinks, but it might be nicer to make this work
|
||
|
# with a relative symbolic link someday.
|
||
|
test_expect_failure SYMLINKS 'rerere in workdir (relative)' '
|
||
|
rm -rf .git/rr-cache &&
|
||
|
"$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . krow &&
|
||
|
(
|
||
|
cd krow &&
|
||
|
rm -f .git/rr-cache &&
|
||
|
ln -s ../.git/rr-cache .git/rr-cache &&
|
||
|
test_must_fail git merge side &&
|
||
|
git rerere status >actual &&
|
||
|
echo world >expect &&
|
||
|
test_cmp expect actual
|
||
|
)
|
||
|
'
|
||
|
|
||
|
test_done
|