]> git.ipfire.org Git - thirdparty/git.git/blob - t/t1021-rerere-in-workdir.sh
Merge branch 'js/doc-patch-text'
[thirdparty/git.git] / t / t1021-rerere-in-workdir.sh
1 #!/bin/sh
2
3 test_description='rerere run in a workdir'
4 . ./test-lib.sh
5
6 test_expect_success SYMLINKS setup '
7 git config rerere.enabled true &&
8 >world &&
9 git add world &&
10 test_tick &&
11 git commit -m initial &&
12
13 echo hello >world &&
14 test_tick &&
15 git commit -a -m hello &&
16
17 git checkout -b side HEAD^ &&
18 echo goodbye >world &&
19 test_tick &&
20 git commit -a -m goodbye &&
21
22 git checkout master
23 '
24
25 test_expect_success SYMLINKS 'rerere in workdir' '
26 rm -rf .git/rr-cache &&
27 "$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . work &&
28 (
29 cd work &&
30 test_must_fail git merge side &&
31 git rerere status >actual &&
32 echo world >expect &&
33 test_cmp expect actual
34 )
35 '
36
37 # This fails because we don't resolve relative symlink in mkdir_in_gitdir()
38 # For the purpose of helping contrib/workdir/git-new-workdir users, we do not
39 # have to support relative symlinks, but it might be nicer to make this work
40 # with a relative symbolic link someday.
41 test_expect_failure SYMLINKS 'rerere in workdir (relative)' '
42 rm -rf .git/rr-cache &&
43 "$SHELL_PATH" "$TEST_DIRECTORY/../contrib/workdir/git-new-workdir" . krow &&
44 (
45 cd krow &&
46 rm -f .git/rr-cache &&
47 ln -s ../.git/rr-cache .git/rr-cache &&
48 test_must_fail git merge side &&
49 git rerere status >actual &&
50 echo world >expect &&
51 test_cmp expect actual
52 )
53 '
54
55 test_done