chiark / gitweb /
git-debrebase: merge: Change wreckage to refs/debrebase/wreckage/*
[dgit.git] / tests / tests / gdr-merge-conflicts
index 4517be4aa71575f94c692aa5ffa475b8ccc40a0d..59dec9720b18e0fb5fcbe6813f1a11da4c028386 100755 (executable)
@@ -10,6 +10,16 @@ t-setup-import gdr-convert-gbp-noarchive
 
 export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1
 
+wreckage-before () {
+       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 .
+}
+
 : ----- prepare the baseline -----
 
 cd $p
@@ -50,9 +60,13 @@ dch -a 'Merge, only conflict was in debian/changelog'
 t-dch-r-rune dch
 git commit -a --amend --no-edit
 
+wreckage-before
+
 t-expect-fail F:'divergent anchors' \
 t-git-debrebase
 
+wreckage-after
+
 : ===== late failure in apply =====
 
 git checkout other
@@ -63,6 +77,8 @@ git commit -m 'other-upstream-conflict' docs/README
 
 t-git-debrebase quick
 
+if git for-each-ref refs/debrebase/wreckage | egrep .; then fail wreck; fi
+
 : ----- make the merge -----
 
 git checkout master
@@ -72,9 +88,30 @@ t-merge-conflicted-stripping-conflict-markers other docs/README
 
 : ----- expect failure -----
 
+wreckage-before
+
 t-expect-fail F:'docs/README' \
 t-git-debrebase
 
-# xxx want to check wrecknotes appear
+wreckage-after
+
+: ----- 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
+
+git checkout master
+
+#t-git-debrebase
+#t-gdr-good laundered
 
 t-ok