X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=tests%2Ftests%2Fgdr-merge-conflicts;h=1f3f09e0d1a6ec3336d0ed694b99be4c1e7f4128;hb=50b6d1fa7bd440dcc7ef9d1803aa8e71e388361f;hp=e556db458d1afa18058ec3fa1fbf27ecee8acde6;hpb=2e2f354d54d8af330c5a4a5ceab9d8c9604e5c0d;p=dgit.git diff --git a/tests/tests/gdr-merge-conflicts b/tests/tests/gdr-merge-conflicts index e556db45..1f3f09e0 100755 --- a/tests/tests/gdr-merge-conflicts +++ b/tests/tests/gdr-merge-conflicts @@ -3,21 +3,27 @@ set -e autoimport= . tests/lib -t-dependencies NO-DGIT GDR +t-dependencies NO-DGIT GDR quilt t-tstunt-parsechangelog 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 ----- @@ -77,7 +83,7 @@ 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 +no-wreckage : ----- make the merge ----- @@ -85,12 +91,59 @@ git checkout master git reset --hard master-before-merge t-merge-conflicted-stripping-conflict-markers other docs/README +t-git-debrebase stitch : ----- expect failure ----- +wreckage-before + +t-expect-fail F:'docs/README' \ +t-git-debrebase + +wreckage-after + +: ===== resolve the conflict ===== + +# omg + +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 +} + +: ----- 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 -# xxx want to check wrecknotes appear +t-gdr-good laundered t-ok