autoimport=
. tests/lib
-t-dependencies NO-DGIT GDR
+t-dependencies NO-DGIT GDR quilt
t-tstunt-parsechangelog
+t-tstunt debchange
t-setup-import gdr-convert-gbp-noarchive
-export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1
+t_gdr_xopts+=' --experimental-merge-resolution'
wreckage-before () {
- junkref=refs/debrebase-wreckage/junk
+ junkref=refs/debrebase/wreckage/junk
git update-ref $junkref v2.1
}
wreckage-after () {
test '' = "$(t-git-get-ref-exact $junkref)"
- git for-each-ref refs/debrebase-wreckage | egrep .
+ git for-each-ref refs/debrebase/wreckage | egrep .
+}
+
+no-wreckage () {
+ if git for-each-ref refs/debrebase/wreckage | egrep .; then
+ fail wreckage
+ fi
}
: ----- prepare the baseline -----
: ----- make the merge -----
-git merge -s ours other
+git merge --no-edit -s ours other
# we have to do a little dance to make this not a pseudomerge
t-git-next-date
t-git-debrebase quick
-if git for-each-ref refs/debrebase-wreckage | egrep .; then fail wreck; fi
+no-wreckage
: ----- make the merge -----
git reset --hard master-before-merge
t-merge-conflicted-stripping-conflict-markers other docs/README
+t-git-debrebase stitch
: ----- expect failure -----
wreckage-after
-: ----- resolve the conflict -----
+: ===== resolve the conflict =====
# omg
-git checkout debrebase-wreckage/merged-patchqueue
-QUILT_PATCHES=debian/patches quilt push -a
-QUILT_PATCHES=debian/patches quilt refresh
-git add debian/patches
-git commit -m FIX
-git reset --hard
-git clean -xdff
-t-expect-fail F:todo \
-t-git-debrebase record-resolved-merge
+quilt_faff_before () {
+ git checkout -b fix$1 debrebase/wreckage/merged-patchqueue
+ QUILT_PATCHES=debian/patches quilt push -a
+}
+quilt_faff_after () {
+ QUILT_PATCHES=debian/patches quilt refresh
+ git add debian/patches
+ git commit -m FIX
+ git reset --hard
+ git clean -xdff
+ t-git-debrebase record-resolved-merge
+ git checkout master
+}
-git checkout master
+: ----- badly -----
+
+quilt_faff_before 1
+quilt_faff_after
+
+t-expect-fail E:'upstream files are not the same' \
+t-git-debrebase
+
+t-git-debrebase scrap
+no-wreckage
+
+: ----- well -----
+
+t-expect-fail F:'docs/README' \
+t-git-debrebase
+wreckage-after
+
+quilt_faff_before 2
+git checkout master docs/README
+git reset docs/README
+quilt_faff_after
+
+t-git-debrebase
-#t-git-debrebase
-#t-gdr-good laundered
+t-gdr-good laundered
t-ok