chiark / gitweb /
git-debrebase: merge: test suite: Use t-ref-same-start
[dgit.git] / tests / tests / gdr-merge
1 #!/bin/bash
2 set -e
3 autoimport=
4 . tests/lib
5
6 t-dependencies NO-DGIT GDR
7
8 t-tstunt-parsechangelog
9 t-setup-import gdr-convert-gbp-noarchive
10
11 : 'set up so t-git-debrebase runs gdr via git'
12
13 case "$DGIT_GITDEBREBASE_TEST" in
14 ''|git-debrebase)       ;;
15 *)
16         t-tstunt
17         st=$tmp/tstunt/git-debrebase
18         export DGIT_GITDEBREBASE_TEST_REAL="$DGIT_GITDEBREBASE_TEST"
19         cat <<'END' >$st
20 #!/bin/sh
21 set -x
22 exec "$DGIT_GITDEBREBASE_TEST_REAL" "$@"
23 END
24         chmod +x $st
25         ;;
26 esac
27
28 DGIT_GITDEBREBASE_TEST='git debrebase'
29
30 : 'do a simple test'
31
32 cd $p
33
34 t-gdr-prep-new-upstream 2.1
35 git tag v2.1 upstream
36
37 t-some-changes before
38 t-git-debrebase quick
39
40 git checkout -b other
41 t-some-changes other '' -other
42
43 echo 'other-conflict' >>debian/zorkmid
44 git commit -m 'other-conflict' debian/zorkmid
45
46 git checkout master
47 t-some-changes us-1 '' -us
48 t-git-debrebase new-upstream 2.1
49 t-some-changes us-2 '' -us
50 echo 'us-conflict' >>debian/zorkmid
51 git commit -m 'us-conflict' debian/zorkmid
52 t-git-debrebase quick
53
54 t-expect-fail E:'Merge conflict in debian/zorkmid' \
55 git merge other
56
57 perl -i~ -ne 'print unless m{^(?:\<\<\<|\>\>\>|===)}' debian/zorkmid
58
59 git add debian/zorkmid
60 git commit --no-edit
61
62 t-expect-fail E:'general two-parent merge' \
63 t-git-debrebase
64
65 export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1
66
67 t-git-debrebase
68 t-gdr-good laundered
69
70 t-refs-same-start
71 t-ref-head
72 t-git-debrebase
73 t-ref-head
74
75 t-git-debrebase scrap
76
77 t-some-changes after
78 t-git-debrebase
79 t-gdr-good laundered
80
81 t-ok