Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8749
merge: refactor some initialization, drop backwards var
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8748
merge: combine a copy and move case
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8747
merge: drop a flag update case
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8746
merge: combine three identical 'remote is newer' cases
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8745
merge: drop 'remote deleted' case
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8744
merge: simplify 'other deleted' case
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8743
merge: simplify backwards revert test, ready to combine with other cases
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2009 18:14:44 -0500] rev 8742
merge: allow merging going backwards
New behavior is generally superior and more correct, except possibly
with regards to missing files. hg up . is now effectively a no-op,
which is probably the desired behavior for people expecting to move to
tip, but may surprise people who were expecting deleted files to
reappear.
case 1: update to .
a-w -> a-w
classic: ancestor a
missing recreated right?
rmed recreated WRONG
added forgotten WRONG
changed preserved RIGHT
conflicted can't happen
backward merge: ancestor a (NO EFFECT)
missing missing wrong?
rm'ed rm'ed RIGHT
added preserved RIGHT
changed preserved RIGHT
conflicted can't happen
case 2: update to ancestor of .
a-b-w -> b-w
\
a
classic: ancestor a
missing recreated right?
rmed recreated wrong?
added forgotten wrong?
changed preserved RIGHT
conflicted preserved wrong?
backwards merge: ancestor b
missing missing or conflict right?
rm'ed missing or conflict right?
changed preserved RIGHT
conflicted merge RIGHT
added preserved right?