merge: delay debug messages for merge actions
Show messages at a point where the actions have been sorted, thus preparing for
backout of 760c0d67ce5e.
This makes manifestmerge more of a silent operation, just like 'copies' is.
Indent 'preserving' messages to make them subordinate to the action logging so
they fit in the new context. (The 'preserving' messages are quite redundant and
could also be removed completely.)
--- a/hgext/largefiles/overrides.py Thu Jan 24 23:57:44 2013 +0100
+++ b/hgext/largefiles/overrides.py Thu Jan 24 23:57:44 2013 +0100
@@ -368,7 +368,7 @@
if overwrite:
processed.append(action)
continue
- f, m, args = action
+ f, m, args, msg = action
choices = (_('&Largefile'), _('&Normal file'))
if m == "g" and lfutil.splitstandin(f) in p1 and f in p2:
@@ -379,10 +379,10 @@
msg = _('%s has been turned into a largefile\n'
'use (l)argefile or keep as (n)ormal file?') % lfile
if repo.ui.promptchoice(msg, choices, 0) == 0:
- processed.append((lfile, "r", None))
- processed.append((standin, "g", (p2.flags(standin),)))
+ processed.append((lfile, "r", None, msg))
+ processed.append((standin, "g", (p2.flags(standin),), msg))
else:
- processed.append((standin, "r", None))
+ processed.append((standin, "r", None, msg))
elif m == "g" and lfutil.standin(f) in p1 and f in p2:
# Case 2: largefile in the working copy, normal file in
# the second parent
@@ -391,10 +391,10 @@
msg = _('%s has been turned into a normal file\n'
'keep as (l)argefile or use (n)ormal file?') % lfile
if repo.ui.promptchoice(msg, choices, 0) == 0:
- processed.append((lfile, "r", None))
+ processed.append((lfile, "r", None, msg))
else:
- processed.append((standin, "r", None))
- processed.append((lfile, "g", (p2.flags(lfile),)))
+ processed.append((standin, "r", None, msg))
+ processed.append((lfile, "g", (p2.flags(lfile),), msg))
else:
processed.append(action)
--- a/mercurial/merge.py Thu Jan 24 23:57:44 2013 +0100
+++ b/mercurial/merge.py Thu Jan 24 23:57:44 2013 +0100
@@ -176,12 +176,12 @@
state = branchmerge and 'r' or 'f'
for f in wctx.deleted():
if f not in mctx:
- actions.append((f, state, None))
+ actions.append((f, state, None, "forget deleted"))
if not branchmerge:
for f in wctx.removed():
if f not in mctx:
- actions.append((f, "f", None))
+ actions.append((f, "f", None, "forget removed"))
return actions
@@ -194,8 +194,7 @@
"""
def act(msg, m, f, *args):
- repo.ui.debug(" %s: %s -> %s\n" % (f, msg, m))
- actions.append((f, m, args))
+ actions.append((f, m, args, msg))
actions, copy, movewithdir = [], {}, {}
@@ -342,12 +341,13 @@
# prescan for merges
for a in actions:
- f, m, args = a
+ f, m, args, msg = a
+ repo.ui.debug(" %s: %s -> %s\n" % (f, msg, m))
if m == "m": # merge
f2, fd, move = args
if fd == '.hgsubstate': # merged internally
continue
- repo.ui.debug("preserving %s for resolve of %s\n" % (f, fd))
+ repo.ui.debug(" preserving %s for resolve of %s\n" % (f, fd))
fcl = wctx[f]
fco = mctx[f2]
if mctx == actx: # backwards, use working dir parent as ancestor
@@ -374,7 +374,7 @@
numupdates = len(actions)
for i, a in enumerate(actions):
- f, m, args = a
+ f, m, args, msg = a
repo.ui.progress(_('updating'), i + 1, item=f, total=numupdates,
unit=_('files'))
if m == "r": # remove
@@ -468,7 +468,7 @@
"record merge actions to the dirstate"
for a in actions:
- f, m, args = a
+ f, m, args, msg = a
if m == "r": # remove
if branchmerge:
repo.dirstate.remove(f)
--- a/tests/test-copy-move-merge.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-copy-move-merge.t Thu Jan 24 23:57:44 2013 +0100
@@ -32,9 +32,9 @@
overwrite: False, partial: False
ancestor: b8bf91eeebbc, local: add3f11052fa+, remote: 17c05bb7fcb6
a: remote moved to b -> m
+ preserving a for resolve of b
a: remote moved to c -> m
- preserving a for resolve of b
- preserving a for resolve of c
+ preserving a for resolve of c
removing a
updating: a 1/2 files (50.00%)
picked tool 'internal:merge' for b (binary False symlink False)
--- a/tests/test-double-merge.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-double-merge.t Thu Jan 24 23:57:44 2013 +0100
@@ -35,10 +35,10 @@
resolving manifests
overwrite: False, partial: False
ancestor: e6dc8efe11cc, local: 6a0df1dad128+, remote: 484bf6903104
+ foo: remote copied to bar -> m
+ preserving foo for resolve of bar
foo: versions differ -> m
- foo: remote copied to bar -> m
- preserving foo for resolve of bar
- preserving foo for resolve of foo
+ preserving foo for resolve of foo
updating: foo 1/2 files (50.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging foo and bar to bar
--- a/tests/test-graft.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-graft.t Thu Jan 24 23:57:44 2013 +0100
@@ -137,7 +137,7 @@
overwrite: False, partial: False
ancestor: 68795b066622, local: ef0ef43d49e7+, remote: 5d205f8b35b6
b: local copied/moved to a -> m
- preserving b for resolve of b
+ preserving b for resolve of b
updating: b 1/1 files (100.00%)
picked tool 'internal:merge' for b (binary False symlink False)
merging b and a to b
@@ -160,7 +160,7 @@
ancestor: 4c60f11aa304, local: 1905859650ec+, remote: 9c233e8e184d
d: remote is newer -> g
e: versions differ -> m
- preserving e for resolve of e
+ preserving e for resolve of e
updating: d 1/2 files (50.00%)
getting d
updating: e 2/2 files (100.00%)
--- a/tests/test-issue672.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-issue672.t Thu Jan 24 23:57:44 2013 +0100
@@ -66,7 +66,7 @@
overwrite: False, partial: False
ancestor: c64f439569a9, local: e327dca35ac8+, remote: 746e9549ea96
1a: local copied/moved to 1 -> m
- preserving 1a for resolve of 1a
+ preserving 1a for resolve of 1a
updating: 1a 1/1 files (100.00%)
picked tool 'internal:merge' for 1a (binary False symlink False)
merging 1a and 1 to 1a
@@ -89,7 +89,7 @@
overwrite: False, partial: False
ancestor: c64f439569a9, local: 746e9549ea96+, remote: e327dca35ac8
1: remote moved to 1a -> m
- preserving 1 for resolve of 1a
+ preserving 1 for resolve of 1a
removing 1
updating: 1 1/1 files (100.00%)
picked tool 'internal:merge' for 1a (binary False symlink False)
--- a/tests/test-merge-commit.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-merge-commit.t Thu Jan 24 23:57:44 2013 +0100
@@ -72,7 +72,7 @@
overwrite: False, partial: False
ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 0555950ead28
bar: versions differ -> m
- preserving bar for resolve of bar
+ preserving bar for resolve of bar
updating: bar 1/1 files (100.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
@@ -159,7 +159,7 @@
overwrite: False, partial: False
ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 3ffa6b9e35f0
bar: versions differ -> m
- preserving bar for resolve of bar
+ preserving bar for resolve of bar
updating: bar 1/1 files (100.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
--- a/tests/test-merge-types.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-merge-types.t Thu Jan 24 23:57:44 2013 +0100
@@ -35,7 +35,7 @@
overwrite: False, partial: False
ancestor: c334dc3be0da, local: 521a1e40188f+, remote: 3574f3e69b1c
a: versions differ -> m
- preserving a for resolve of a
+ preserving a for resolve of a
updating: a 1/1 files (100.00%)
picked tool 'internal:merge' for a (binary False symlink True)
merging a
@@ -68,7 +68,7 @@
overwrite: False, partial: False
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f
a: versions differ -> m
- preserving a for resolve of a
+ preserving a for resolve of a
updating: a 1/1 files (100.00%)
picked tool 'internal:merge' for a (binary False symlink True)
merging a
@@ -102,7 +102,7 @@
overwrite: False, partial: False
ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f
a: versions differ -> m
- preserving a for resolve of a
+ preserving a for resolve of a
updating: a 1/1 files (100.00%)
(couldn't find merge tool hgmerge|tool hgmerge can't handle symlinks) (re)
picked tool 'internal:prompt' for a (binary False symlink True)
--- a/tests/test-merge7.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-merge7.t Thu Jan 24 23:57:44 2013 +0100
@@ -84,7 +84,7 @@
overwrite: False, partial: False
ancestor: 96b70246a118, local: 50c3a7e29886+, remote: 40d11a4173a8
test.txt: versions differ -> m
- preserving test.txt for resolve of test.txt
+ preserving test.txt for resolve of test.txt
updating: test.txt 1/1 files (100.00%)
picked tool 'internal:merge' for test.txt (binary False symlink False)
merging test.txt
--- a/tests/test-rename-merge1.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-rename-merge1.t Thu Jan 24 23:57:44 2013 +0100
@@ -33,13 +33,13 @@
src: 'a2' -> dst: 'b2' !
src: 'a2' -> dst: 'c2' !
checking for directory renames
- a2: divergent renames -> dr
resolving manifests
overwrite: False, partial: False
ancestor: af1939970a1c, local: 044f8520aeeb+, remote: 85c198ef2f6c
a: remote moved to b -> m
+ preserving a for resolve of b
+ a2: divergent renames -> dr
b2: remote created -> g
- preserving a for resolve of b
removing a
updating: a 1/3 files (33.33%)
picked tool 'internal:merge' for b (binary False symlink False)
@@ -178,10 +178,10 @@
all copies found (* = to merge, ! = divergent, % = renamed and deleted):
src: 'file' -> dst: 'newfile' %
checking for directory renames
- file: rename and delete -> rd
resolving manifests
overwrite: False, partial: False
ancestor: 19d7f95df299, local: 0084274f6b67+, remote: 5d32493049f0
+ file: rename and delete -> rd
newfile: remote created -> g
updating: file 1/2 files (50.00%)
note: possible conflict - file was deleted and renamed to:
--- a/tests/test-rename-merge2.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-rename-merge2.t Thu Jan 24 23:57:44 2013 +0100
@@ -86,10 +86,10 @@
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: e300d1c794ec+, remote: 4ce40f5aca24
+ a: remote copied to b -> m
+ preserving a for resolve of b
rev: versions differ -> m
- a: remote copied to b -> m
- preserving a for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging a and b to b
@@ -123,9 +123,9 @@
ancestor: 924404dff337, local: 86a2aa42fc76+, remote: f4db7e329e71
a: remote is newer -> g
b: local copied/moved to a -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
getting a
updating: b 2/3 files (66.67%)
@@ -159,10 +159,10 @@
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: e300d1c794ec+, remote: bdb19105162a
+ a: remote moved to b -> m
+ preserving a for resolve of b
rev: versions differ -> m
- a: remote moved to b -> m
- preserving a for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
removing a
updating: a 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
@@ -195,9 +195,9 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 02963e448370+, remote: f4db7e329e71
b: local copied/moved to a -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
@@ -228,9 +228,9 @@
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: 94b33a1b7f2d+, remote: 4ce40f5aca24
+ b: remote created -> g
rev: versions differ -> m
- b: remote created -> g
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: b 1/2 files (50.00%)
getting b
updating: rev 2/2 files (100.00%)
@@ -259,7 +259,7 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 97c705ade336
rev: versions differ -> m
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: rev 1/1 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
@@ -286,9 +286,9 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 94b33a1b7f2d+, remote: bdb19105162a
a: other deleted -> r
+ b: remote created -> g
rev: versions differ -> m
- b: remote created -> g
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
removing a
updating: b 2/3 files (66.67%)
@@ -318,7 +318,7 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 02963e448370+, remote: 97c705ade336
rev: versions differ -> m
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: rev 1/1 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
@@ -339,9 +339,9 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 62e7bf090eba+, remote: 49b6d8032493
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
@@ -373,13 +373,13 @@
src: 'a' -> dst: 'b' !
src: 'a' -> dst: 'c' !
checking for directory renames
- a: divergent renames -> dr
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: 02963e448370+, remote: fe905ef2c33e
- rev: versions differ -> m
+ a: divergent renames -> dr
c: remote created -> g
- preserving rev for resolve of rev
+ rev: versions differ -> m
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
note: possible conflict - a was renamed multiple times to:
b
@@ -407,9 +407,9 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 86a2aa42fc76+, remote: af30c7647fc7
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
@@ -436,9 +436,9 @@
ancestor: 924404dff337, local: 59318016310c+, remote: bdb19105162a
a: other deleted -> r
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
removing a
updating: b 2/3 files (66.67%)
@@ -466,9 +466,9 @@
ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 8dbce441892a
a: remote is newer -> g
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
getting a
updating: b 2/3 files (66.67%)
@@ -497,9 +497,9 @@
ancestor: 924404dff337, local: 59318016310c+, remote: bdb19105162a
a: other deleted -> r
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
removing a
updating: b 2/3 files (66.67%)
@@ -527,9 +527,9 @@
ancestor: 924404dff337, local: 86a2aa42fc76+, remote: 8dbce441892a
a: remote is newer -> g
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
getting a
updating: b 2/3 files (66.67%)
@@ -557,9 +557,9 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 0b76e65c8289+, remote: 4ce40f5aca24
b: versions differ -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
@@ -584,13 +584,13 @@
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: 02963e448370+, remote: 8dbce441892a
- b: versions differ -> m
- rev: versions differ -> m
remote changed a which local deleted
use (c)hanged version or leave (d)eleted? c
a: prompt recreating -> g
- preserving b for resolve of b
- preserving rev for resolve of rev
+ b: versions differ -> m
+ preserving b for resolve of b
+ rev: versions differ -> m
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
getting a
updating: b 2/3 files (66.67%)
@@ -617,13 +617,13 @@
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: 0b76e65c8289+, remote: bdb19105162a
- b: versions differ -> m
- rev: versions differ -> m
local changed a which remote deleted
use (c)hanged version or (d)elete? c
a: prompt keep -> a
- preserving b for resolve of b
- preserving rev for resolve of rev
+ b: versions differ -> m
+ preserving b for resolve of b
+ rev: versions differ -> m
+ preserving rev for resolve of rev
updating: a 1/3 files (33.33%)
updating: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
@@ -654,10 +654,10 @@
resolving manifests
overwrite: False, partial: False
ancestor: 924404dff337, local: e300d1c794ec+, remote: 49b6d8032493
+ a: remote moved to b -> m
+ preserving a for resolve of b
rev: versions differ -> m
- a: remote moved to b -> m
- preserving a for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
removing a
updating: a 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
@@ -689,9 +689,9 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 62e7bf090eba+, remote: f4db7e329e71
b: local copied/moved to a -> m
+ preserving b for resolve of b
rev: versions differ -> m
- preserving b for resolve of b
- preserving rev for resolve of rev
+ preserving rev for resolve of rev
updating: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
@@ -727,10 +727,10 @@
overwrite: False, partial: False
ancestor: 924404dff337, local: 02963e448370+, remote: 2b958612230f
b: local copied/moved to a -> m
- rev: versions differ -> m
+ preserving b for resolve of b
c: remote created -> g
- preserving b for resolve of b
- preserving rev for resolve of rev
+ rev: versions differ -> m
+ preserving rev for resolve of rev
updating: b 1/3 files (33.33%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
--- a/tests/test-subrepo.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-subrepo.t Thu Jan 24 23:57:44 2013 +0100
@@ -244,7 +244,7 @@
overwrite: False, partial: False
ancestor: 6747d179aa9a, local: 20a0db6fbf6c+, remote: 7af322bc1198
t: versions differ -> m
- preserving t for resolve of t
+ preserving t for resolve of t
updating: t 1/1 files (100.00%)
picked tool 'internal:merge' for t (binary False symlink False)
merging t
--- a/tests/test-up-local-change.t Thu Jan 24 23:57:44 2013 +0100
+++ b/tests/test-up-local-change.t Thu Jan 24 23:57:44 2013 +0100
@@ -47,8 +47,8 @@
overwrite: False, partial: False
ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
a: versions differ -> m
+ preserving a for resolve of a
b: remote created -> g
- preserving a for resolve of a
updating: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
@@ -67,9 +67,9 @@
resolving manifests
overwrite: False, partial: False
ancestor: 1e71731e6fbb, local: 1e71731e6fbb+, remote: c19d34741b0a
+ b: other deleted -> r
a: versions differ -> m
- b: other deleted -> r
- preserving a for resolve of a
+ preserving a for resolve of a
updating: b 1/2 files (50.00%)
removing b
updating: a 2/2 files (100.00%)
@@ -101,8 +101,8 @@
overwrite: False, partial: False
ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
a: versions differ -> m
+ preserving a for resolve of a
b: remote created -> g
- preserving a for resolve of a
updating: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
@@ -179,9 +179,9 @@
overwrite: False, partial: False
ancestor: c19d34741b0a, local: 1e71731e6fbb+, remote: 83c51d0caff4
a: versions differ -> m
+ preserving a for resolve of a
b: versions differ -> m
- preserving a for resolve of a
- preserving b for resolve of b
+ preserving b for resolve of b
updating: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a