--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -106,6 +106,10 @@ def manifestmerge(ui, m1, m2, ma, overwr
action = []
+ def act(msg, f, m, *args):
+ ui.debug(" %s: %s -> %s\n" % (f, msg, m))
+ action.append((f, m) + args)
+
# Filter manifests
if partial:
for f in m1.keys():
@@ -121,56 +125,44 @@ def manifestmerge(ui, m1, m2, ma, overwr
a = ma.get(f, nullid)
# are both different from the ancestor?
if not overwrite and n != a and m2[f] != a:
- ui.debug(_(" %s versions differ, resolve\n") % f)
- action.append((f, "m", fmerge(f), n[:20], m2[f]))
+ act("versions differ", f, "m", fmerge(f), n[:20], m2[f])
# are we clobbering?
# is remote's version newer?
# or are we going back in time and clean?
elif overwrite or m2[f] != a or (backwards and not n[20:]):
- ui.debug(_(" remote %s is newer, get\n") % f)
- action.append((f, "g", m2.execf(f), m2[f]))
+ act("remote is newer", f, "g", m2.execf(f), m2[f])
# local is newer, not overwrite, check mode bits
elif fmerge(f) != m1.execf(f):
- ui.debug(_(" updating permissions for %s\n") % f)
- action.append((f, "e", m2.execf(f)))
+ act("update permissions", f, "e", m2.execf(f))
# contents same, check mode bits
elif m1.execf(f) != m2.execf(f):
if overwrite or fmerge(f) != m1.execf(f):
- ui.debug(_(" updating permissions for %s\n") % f)
- action.append((f, "e", m2.execf(f)))
+ act("update permissions", f, "e", m2.execf(f))
del m2[f]
elif f in ma:
if n != ma[f] and not overwrite:
if ui.prompt(
(_(" local changed %s which remote deleted\n") % f) +
_("(k)eep or (d)elete?"), _("[kd]"), _("k")) == _("d"):
- action.append((f, "r"))
+ act("prompt delete", f, "r")
else:
- ui.debug(_("other deleted %s\n") % f)
- action.append((f, "r"))
+ act("other deleted", f, "r")
else:
# file is created on branch or in working directory
if (overwrite and n[20:] != "u") or (backwards and not n[20:]):
- ui.debug(_("remote deleted %s, clobbering\n") % f)
- action.append((f, "r"))
- else:
- ui.debug(_("local created %s, keeping\n") % f)
+ act("remote deleted", f, "r")
for f, n in m2.iteritems():
if f in ma:
if overwrite or backwards:
- ui.debug(_("local deleted %s, recreating\n") % f)
- action.append((f, "g", m2.execf(f), n))
+ act("recreating", f, "g", m2.execf(f), n)
elif n != ma[f]:
if ui.prompt(
(_("remote changed %s which local deleted\n") % f) +
_("(k)eep or (d)elete?"), _("[kd]"), _("k")) == _("k"):
- action.append((f, "g", m2.execf(f), n))
- else:
- ui.debug(_("local deleted %s\n") % f)
+ act("prompt recreating", f, "g", m2.execf(f), n)
else:
- ui.debug(_("remote created %s\n") % f)
- action.append((f, "g", m2.execf(f), n))
+ act("remote created", f, "g", m2.execf(f), n)
return action
--- a/tests/test-up-local-change.out
+++ b/tests/test-up-local-change.out
@@ -17,8 +17,8 @@ summary: 1
resolving manifests
overwrite False branchmerge False partial False
ancestor 33aaa84a386b local 802f095af299 remote 33aaa84a386b
- a versions differ, resolve
-remote created b
+ a: versions differ -> m
+ b: remote created -> g
merging a
resolving a
file a: my b789fdd96dc2 other d730145abbf9 ancestor b789fdd96dc2
@@ -33,7 +33,7 @@ summary: 2
resolving manifests
overwrite False branchmerge False partial False
ancestor 802f095af299 local 33aaa84a386b remote 33aaa84a386b
-remote deleted b, clobbering
+ b: remote deleted -> r
removing b
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
changeset: 0:33aaa84a386b
@@ -51,8 +51,8 @@ summary: 1
resolving manifests
overwrite False branchmerge False partial False
ancestor 33aaa84a386b local 802f095af299 remote 33aaa84a386b
- a versions differ, resolve
-remote created b
+ a: versions differ -> m
+ b: remote created -> g
merging a
resolving a
file a: my b789fdd96dc2 other d730145abbf9 ancestor b789fdd96dc2
@@ -102,8 +102,8 @@ failed
resolving manifests
overwrite False branchmerge True partial False
ancestor 802f095af299 local 030602aee63d remote 33aaa84a386b
- a versions differ, resolve
- b versions differ, resolve
+ a: versions differ -> m
+ b: versions differ -> m
merging a
resolving a
file a: my d730145abbf9 other 13e0d5f949fa ancestor b789fdd96dc2