atom feed4 messages in com.selenic.mercurial-devel[PATCH] test: merge fails since f153a...
FromSent OnAttachments
Peter ArrenbrechtNov 13, 2009 8:35 am 
Matt MackallNov 13, 2009 10:40 am 
Peter ArrenbrechtNov 13, 2009 1:55 pm 
Peter ArrenbrechtNov 13, 2009 11:42 pm 
Subject:[PATCH] test: merge fails since f153af9580fe
From:Peter Arrenbrecht (pete@gmail.com)
Date:Nov 13, 2009 8:35:06 am
List:com.selenic.mercurial-devel

diff --git a/tests/test-merge-carry-fwd b/tests/test-merge-carry-fwd new file mode 100755 --- /dev/null +++ b/tests/test-merge-carry-fwd @@ -0,0 +1,72 @@ +#!/bin/sh + +echo "[extensions]" >>$HGRCPATH +echo "hgext.graphlog=" >>$HGRCPATH + +HGMERGE=internal:merge +export HGMERGE + +hg init r +cd r + +echo "==== setup base" +# This is the branch situation: +# a -> (b, c) -> d + +echo a >f +hg branch a +hg ci -Am a + +echo b >f +hg branch b +hg ci -m b + +hg up a +echo c >c +hg branch c +hg ci -Am c + +hg merge b +hg branch d +hg ci -Am d + +echo "==== modify a" +# We introduce a change u in a that conflicts with b, but not c: + +hg up a +echo u >>f +hg ci -m u + +echo "==== merge a into b resolving manually as change v" + +hg up b +hg merge a +# resolve: +echo bu >f +rm f.* +hg resolve -m f +hg ci -m v + +echo "==== merge a into c, which is painless, as change w" + +hg up c +hg merge a +hg ci -m w + +echo "==== merge b into d as change x" + +hg up d +hg merge b +hg ci -m x + +echo "==== merge c into d as change y" +# Here we newly fail. Both c and d are related to u, but as of +# f153af9580fe hg merge chooses change a as the merge ancestor +# instead of change u. + +hg glog --template "{rev} {node|short}: {desc} [branch {branches}]\n" + +hg up d +hg merge --debug -v c +hg ci -m y + diff --git a/tests/test-merge-carry-fwd.out b/tests/test-merge-carry-fwd.out new file mode 100644 --- /dev/null +++ b/tests/test-merge-carry-fwd.out @@ -0,0 +1,60 @@ +==== setup base +marked working directory as branch a +adding f +marked working directory as branch b +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +marked working directory as branch c +adding c +created new head +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit) +marked working directory as branch d +==== modify a +1 files updated, 0 files merged, 1 files removed, 0 files unresolved +created new head +==== merge a into b resolving manually as change v +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +merging f +warning: conflicts during merge. +merging f failed! +0 files updated, 0 files merged, 0 files removed, 1 files unresolved +use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon +==== merge a into c, which is painless, as change w +2 files updated, 0 files merged, 0 files removed, 0 files unresolved +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit) +created new head +==== merge b into d as change x +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit) +==== merge c into d as change y +@ 7 df8f864b9dcd: x [branch d] +|\ +| | o 6 61ecd8ec85ca: w [branch c] +| | |\ +| o---+ 5 977f54d8a8f3: v [branch b] +| | | | +| | | o 4 2d01de73b03d: u [branch a] +| | | | +o---+ | 3 a00751ea823b: d [branch d] +|/ / / +| o / 2 eb935dd1d45b: c [branch c] +| |/ +o / 1 483d9ec12c38: b [branch b] +|/ +o 0 9a30ef678d2c: a [branch a] + +0 files updated, 0 files merged, 0 files removed, 0 files unresolved + searching for copies back to rev 1 +resolving manifests + overwrite None partial False + ancestor eb935dd1d45b local df8f864b9dcd+ remote 61ecd8ec85ca + f: versions differ -> m +preserving f for resolve of f +picked tool 'internal:merge' for f (binary False symlink False) +merging f +my f@df8f864b9dcd+ other f@61ecd8ec85ca ancestor f@2d01de73b03d + premerge successful +0 files updated, 1 files merged, 0 files removed, 0 files unresolved +(branch merge, don't forget to commit)