diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -368,7 +368,7 @@ def overridemanifestmerge(origfn, repo, 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 @@ def overridemanifestmerge(origfn, repo, 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 @@ def overridemanifestmerge(origfn, repo, 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) diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -176,12 +176,12 @@ def _forgetremoved(wctx, mctx, branchmer 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 manifestmerge(repo, p1, p2, pa, over """ 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 @@ def applyupdates(repo, actions, wctx, mc # 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 @@ def applyupdates(repo, actions, wctx, mc 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 @@ def recordupdates(repo, actions, branchm "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) diff --git a/tests/test-copy-move-merge.t b/tests/test-copy-move-merge.t --- a/tests/test-copy-move-merge.t +++ b/tests/test-copy-move-merge.t @@ -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) diff --git a/tests/test-double-merge.t b/tests/test-double-merge.t --- a/tests/test-double-merge.t +++ b/tests/test-double-merge.t @@ -35,10 +35,10 @@ we get conflicts that shouldn't be there 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 diff --git a/tests/test-graft.t b/tests/test-graft.t --- a/tests/test-graft.t +++ b/tests/test-graft.t @@ -137,7 +137,7 @@ Graft out of order, skipping a merge and 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 @@ Graft out of order, skipping a merge and 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%) diff --git a/tests/test-issue672.t b/tests/test-issue672.t --- a/tests/test-issue672.t +++ b/tests/test-issue672.t @@ -66,7 +66,7 @@ http://mercurial.selenic.com/bts/issue67 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 @@ http://mercurial.selenic.com/bts/issue67 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) diff --git a/tests/test-merge-commit.t b/tests/test-merge-commit.t --- a/tests/test-merge-commit.t +++ b/tests/test-merge-commit.t @@ -72,7 +72,7 @@ This should use bar@rev2 as the ancestor 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 @@ This should use bar@rev2 as the ancestor 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 diff --git a/tests/test-merge-types.t b/tests/test-merge-types.t --- a/tests/test-merge-types.t +++ b/tests/test-merge-types.t @@ -35,7 +35,7 @@ Symlink is local parent, executable is o 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 @@ Symlink is other parent, executable is l 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 @@ Update to link with local change should 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) diff --git a/tests/test-merge7.t b/tests/test-merge7.t --- a/tests/test-merge7.t +++ b/tests/test-merge7.t @@ -84,7 +84,7 @@ pull and merge from test-a again 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 diff --git a/tests/test-rename-merge1.t b/tests/test-rename-merge1.t --- a/tests/test-rename-merge1.t +++ b/tests/test-rename-merge1.t @@ -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 @@ Check for issue3074 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: diff --git a/tests/test-rename-merge2.t b/tests/test-rename-merge2.t --- a/tests/test-rename-merge2.t +++ b/tests/test-rename-merge2.t @@ -86,10 +86,10 @@ args: 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 @@ args: 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 @@ args: 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 @@ args: 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 @@ args: 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 @@ args: 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 @@ args: 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 @@ args: 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 @@ args: 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "um a c" "um x c" " " "10 do merg 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 @@ m "nm a b" "um x a" " " "22 get a, 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 diff --git a/tests/test-subrepo.t b/tests/test-subrepo.t --- a/tests/test-subrepo.t +++ b/tests/test-subrepo.t @@ -244,7 +244,7 @@ merge tests 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 diff --git a/tests/test-up-local-change.t b/tests/test-up-local-change.t --- a/tests/test-up-local-change.t +++ b/tests/test-up-local-change.t @@ -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 @@ create a second head 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