6 t-dependencies NO-DGIT GDR quilt
8 t-tstunt-parsechangelog
10 t-setup-import gdr-convert-gbp-noarchive
12 t_gdr_xopts+=' --experimental-merge-resolution'
15 junkref=refs/debrebase/wreckage/junk
16 git update-ref $junkref v2.1
20 test '' = "$(t-git-get-ref-exact $junkref)"
21 git for-each-ref refs/debrebase/wreckage | egrep .
25 if git for-each-ref refs/debrebase/wreckage | egrep .; then
30 : ----- prepare the baseline -----
34 t-gdr-prep-new-upstream 2.1
40 : ===== early failure in walk =====
42 : ----- prepare other -----
45 t-some-changes other '' -other
47 git branch other-before-new-upstream
49 t-git-debrebase new-upstream 2.1
52 : ----- prepare master -----
55 t-git-debrebase new-upstream 2.1
58 git branch master-before-merge
60 : ----- make the merge -----
62 git merge --no-edit -s ours other
64 # we have to do a little dance to make this not a pseudomerge
66 dch -a 'Merge, only conflict was in debian/changelog'
68 git commit -a --amend --no-edit
72 t-expect-fail F:'divergent anchors' \
77 : ===== late failure in apply =====
80 git reset --hard other-before-new-upstream
82 echo other-upstream-confict >>docs/README
83 git commit -m 'other-upstream-conflict' docs/README
89 : ----- make the merge -----
92 git reset --hard master-before-merge
94 t-merge-conflicted-stripping-conflict-markers other docs/README
95 t-git-debrebase stitch
97 : ----- expect failure -----
101 t-expect-fail F:'docs/README' \
106 : ===== resolve the conflict =====
110 quilt_faff_before () {
111 git checkout -b fix$1 debrebase/wreckage/merged-patchqueue
112 QUILT_PATCHES=debian/patches quilt push -a
114 quilt_faff_after () {
115 QUILT_PATCHES=debian/patches quilt refresh
116 git add debian/patches
120 t-git-debrebase record-resolved-merge
129 t-expect-fail E:'upstream files are not the same' \
132 t-git-debrebase scrap
137 t-expect-fail F:'docs/README' \
142 git checkout master docs/README
143 git reset docs/README