X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Ftests%2Fgdr-merge-conflicts;h=467dc6ad342d27f4dbd6e453e8e6f9bb987fce05;hp=afdd014f2bcc67163eb7140704c917df3ec87ccb;hb=d48a0cce536f1151c29f091d096f71aceb190b05;hpb=f8b71fe47b3216f14c31c3c2c9075ce32c0cc975 diff --git a/tests/tests/gdr-merge-conflicts b/tests/tests/gdr-merge-conflicts index afdd014f..467dc6ad 100755 --- a/tests/tests/gdr-merge-conflicts +++ b/tests/tests/gdr-merge-conflicts @@ -8,7 +8,9 @@ t-dependencies NO-DGIT GDR t-tstunt-parsechangelog t-setup-import gdr-convert-gbp-noarchive -: 'do a simple test' +export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1 + +: ----- prepare the baseline ----- cd $p @@ -18,26 +20,73 @@ git tag v2.1 upstream t-some-changes before t-git-debrebase quick +: ===== early failure in walk ===== + +: ----- prepare other ----- + git checkout -b other t-some-changes other '' -other +git branch other-before-new-upstream + +t-git-debrebase new-upstream 2.1 +t-git-next-date + +: ----- prepare master ----- + +git checkout master +t-git-debrebase new-upstream 2.1 +t-git-next-date + +git branch master-before-merge + +: ----- make the merge ----- + +git merge -s ours other + +# we have to do a little dance to make this not a pseudomerge +t-git-next-date +dch -a 'Merge, only conflict was in debian/changelog' +t-dch-r-rune dch +git commit -a --amend --no-edit + +junkref=refs/debrebase-wreckage/junk +git update-ref $junkref v2.1 + +t-expect-fail F:'divergent anchors' \ +t-git-debrebase + +git rev-parse $junkref + +t-expect-fail F:'divergent anchors' \ +t-git-debrebase --save-wreckage + +test '' = "$(t-git-get-ref-exact $junkref)" + +git for-each-ref refs/debrebase-wreckage | egrep . + +: ===== late failure in apply ===== + git checkout other +git reset --hard other-before-new-upstream + echo other-upstream-confict >>docs/README git commit -m 'other-upstream-conflict' docs/README t-git-debrebase quick +: ----- make the merge ----- + git checkout master -t-git-debrebase new-upstream 2.1 +git reset --hard master-before-merge t-merge-conflicted-stripping-conflict-markers other docs/README -export GIT_DEBREBASE_EXPERIMENTAL_MERGE=1 +: ----- expect failure ----- t-expect-fail F:'docs/README' \ t-git-debrebase -# xxx want to test a nomerge from first walk analysis half # xxx want to check wrecknotes appear t-ok