--- a/mercurial/merge.py Sun Feb 07 12:00:40 2010 -0600
+++ b/mercurial/merge.py Sun Feb 07 17:44:30 2010 -0600
@@ -255,6 +255,7 @@
substate = wctx.substate # prime
# prescan for merges
+ u = repo.ui
for a in action:
f, m = a[:2]
if m == 'm': # merge
@@ -277,8 +278,10 @@
audit_path = util.path_auditor(repo.root)
- for a in action:
+ numupdates = len(action)
+ for i, a in enumerate(action):
f, m = a[:2]
+ u.progress('update', i + 1, item=f, total=numupdates, unit='files')
if f and f[0] == "/":
continue
if m == "r": # remove
@@ -338,6 +341,7 @@
elif m == "e": # exec
flags = a[2]
util.set_flags(repo.wjoin(f), 'l' in flags, 'x' in flags)
+ u.progress('update', None, total=numupdates, unit='files')
return updated, merged, removed, unresolved
--- a/tests/test-copy-move-merge.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-copy-move-merge.out Sun Feb 07 17:44:30 2010 -0600
@@ -15,10 +15,12 @@
preserving a for resolve of b
preserving a for resolve of c
removing a
+update: a 1/2 files (50.00%)
picked tool 'internal:merge' for b (binary False symlink False)
merging a and b to b
my b@fb3948d97f07+ other b@40da226db0f0 ancestor a@583c7b748052
premerge successful
+update: a 2/2 files (100.00%)
picked tool 'internal:merge' for c (binary False symlink False)
merging a and c to c
my c@fb3948d97f07+ other c@40da226db0f0 ancestor a@583c7b748052
--- a/tests/test-double-merge.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-double-merge.out Sun Feb 07 17:44:30 2010 -0600
@@ -17,10 +17,12 @@
foo: remote copied to bar -> m
preserving foo for resolve of bar
preserving foo for resolve of foo
+update: foo 1/2 files (50.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging foo and bar to bar
my bar@2092631ce82b+ other bar@7731dad1c2b9 ancestor foo@310fd17130da
premerge successful
+update: foo 2/2 files (100.00%)
picked tool 'internal:merge' for foo (binary False symlink False)
merging foo
my foo@2092631ce82b+ other foo@7731dad1c2b9 ancestor foo@310fd17130da
--- a/tests/test-issue522.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-issue522.out Sun Feb 07 17:44:30 2010 -0600
@@ -8,6 +8,7 @@
overwrite None partial False
ancestor bbd179dfa0a7 local 71766447bdbb+ remote 4d9e78aaceee
foo: remote is newer -> g
+update: foo 1/1 files (100.00%)
getting foo
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
--- a/tests/test-issue672.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-issue672.out Sun Feb 07 17:44:30 2010 -0600
@@ -13,7 +13,9 @@
ancestor 81f4b099af3d local c64f439569a9+ remote 2f8037f47a5c
1: other deleted -> r
1a: remote created -> g
+update: 1 1/2 files (50.00%)
removing 1
+update: 1a 2/2 files (100.00%)
getting 1a
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
@@ -31,6 +33,7 @@
ancestor c64f439569a9 local ac7575e3c052+ remote 746e9549ea96
1a: local copied/moved to 1 -> m
preserving 1a for resolve of 1a
+update: 1a 1/1 files (100.00%)
picked tool 'internal:merge' for 1a (binary False symlink False)
merging 1a and 1 to 1a
my 1a@ac7575e3c052+ other 1@746e9549ea96 ancestor 1@81f4b099af3d
@@ -50,6 +53,7 @@
1: remote moved to 1a -> m
preserving 1 for resolve of 1a
removing 1
+update: 1 1/1 files (100.00%)
picked tool 'internal:merge' for 1a (binary False symlink False)
merging 1 and 1a to 1a
my 1a@746e9549ea96+ other 1a@ac7575e3c052 ancestor 1@81f4b099af3d
--- a/tests/test-merge-commit.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-merge-commit.out Sun Feb 07 17:44:30 2010 -0600
@@ -28,6 +28,7 @@
ancestor 0a3ab4856510 local 2d2f9a22c82b+ remote 7d3b554bfdf1
bar: versions differ -> m
preserving bar for resolve of bar
+update: bar 1/1 files (100.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
my bar@2d2f9a22c82b+ other bar@7d3b554bfdf1 ancestor bar@0a3ab4856510
@@ -78,6 +79,7 @@
ancestor 0a3ab4856510 local 2d2f9a22c82b+ remote 96ab80c60897
bar: versions differ -> m
preserving bar for resolve of bar
+update: bar 1/1 files (100.00%)
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
my bar@2d2f9a22c82b+ other bar@96ab80c60897 ancestor bar@0a3ab4856510
--- a/tests/test-merge-types.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-merge-types.out Sun Feb 07 17:44:30 2010 -0600
@@ -8,6 +8,7 @@
conflicting flags for a
(n)one, e(x)ec or sym(l)ink? n
a: update permissions -> e
+update: a 1/1 files (100.00%)
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% symlink is local parent, executable is other
@@ -20,6 +21,7 @@
conflicting flags for a
(n)one, e(x)ec or sym(l)ink? n
a: remote is newer -> g
+update: a 1/1 files (100.00%)
getting a
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
--- a/tests/test-merge7.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-merge7.out Sun Feb 07 17:44:30 2010 -0600
@@ -25,6 +25,7 @@
ancestor faaea63e63a9 local 451c744aabcc+ remote a070d41e8360
test.txt: versions differ -> m
preserving test.txt for resolve of test.txt
+update: test.txt 1/1 files (100.00%)
picked tool 'internal:merge' for test.txt (binary False symlink False)
merging test.txt
my test.txt@451c744aabcc+ other test.txt@a070d41e8360 ancestor test.txt@faaea63e63a9
--- a/tests/test-rename-dir-merge.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-rename-dir-merge.out Sun Feb 07 17:44:30 2010 -0600
@@ -28,11 +28,17 @@
a/a: other deleted -> r
b/a: remote created -> g
b/b: remote created -> g
+update: a/a 1/6 files (16.67%)
removing a/a
+update: a/b 2/6 files (33.33%)
removing a/b
+update: a/c 3/6 files (50.00%)
moving a/c to b/c
+update: a/d 4/6 files (66.67%)
moving a/d to b/d
+update: b/a 5/6 files (83.33%)
getting b/a
+update: b/b 6/6 files (100.00%)
getting b/b
4 files updated, 0 files merged, 2 files removed, 0 files unresolved
(branch merge, don't forget to commit)
@@ -64,6 +70,7 @@
overwrite None partial False
ancestor f9b20c0d4c51 local 55119e611c80+ remote ce36d17b18fb
None: local renamed directory to b/c -> d
+update:None 1/1 files (100.00%)
getting a/c to b/c
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
--- a/tests/test-rename-merge1.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-rename-merge1.out Sun Feb 07 17:44:30 2010 -0600
@@ -21,13 +21,16 @@
b2: remote created -> g
preserving a for resolve of b
removing a
+update: a 1/3 files (33.33%)
picked tool 'internal:merge' for b (binary False symlink False)
merging a and b to b
my b@f26ec4fc3fa3+ other b@8e765a822af2 ancestor a@af1939970a1c
premerge successful
+update: a2 2/3 files (66.67%)
warning: detected divergent renames of a2 to:
c2
b2
+update: b2 3/3 files (100.00%)
getting b2
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
--- a/tests/test-rename-merge2.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-rename-merge2.out Sun Feb 07 17:44:30 2010 -0600
@@ -15,10 +15,12 @@
a: remote copied to b -> m
preserving a for resolve of b
preserving rev for resolve of rev
+update: a 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging a and b to b
my b@e300d1c794ec+ other b@735846fee2d7 ancestor a@924404dff337
premerge successful
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@e300d1c794ec+ other rev@735846fee2d7 ancestor rev@924404dff337
@@ -48,11 +50,14 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
getting a
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
my b@ac809aeed39a+ other a@f4db7e329e71 ancestor a@924404dff337
premerge successful
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ac809aeed39a+ other rev@f4db7e329e71 ancestor rev@924404dff337
@@ -82,10 +87,12 @@
preserving a for resolve of b
preserving rev for resolve of rev
removing a
+update: a 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging a and b to b
my b@e300d1c794ec+ other b@e03727d2d66b ancestor a@924404dff337
premerge successful
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@e300d1c794ec+ other rev@e03727d2d66b ancestor rev@924404dff337
@@ -113,10 +120,12 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
my b@ecf3cb2a4219+ other a@f4db7e329e71 ancestor a@924404dff337
premerge successful
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ecf3cb2a4219+ other rev@f4db7e329e71 ancestor rev@924404dff337
@@ -143,7 +152,9 @@
rev: versions differ -> m
b: remote created -> g
preserving rev for resolve of rev
+update: b 1/2 files (50.00%)
getting b
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@94b33a1b7f2d+ other rev@735846fee2d7 ancestor rev@924404dff337
@@ -169,6 +180,7 @@
ancestor 924404dff337 local ac809aeed39a+ remote 97c705ade336
rev: versions differ -> m
preserving rev for resolve of rev
+update: rev 1/1 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ac809aeed39a+ other rev@97c705ade336 ancestor rev@924404dff337
@@ -196,8 +208,11 @@
rev: versions differ -> m
b: remote created -> g
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
removing a
+update: b 2/3 files (66.67%)
getting b
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@94b33a1b7f2d+ other rev@e03727d2d66b ancestor rev@924404dff337
@@ -222,6 +237,7 @@
ancestor 924404dff337 local ecf3cb2a4219+ remote 97c705ade336
rev: versions differ -> m
preserving rev for resolve of rev
+update: rev 1/1 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ecf3cb2a4219+ other rev@97c705ade336 ancestor rev@924404dff337
@@ -243,9 +259,11 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@ec03c2ca8642+ other b@79cc6877a3b7 ancestor a@924404dff337
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ec03c2ca8642+ other rev@79cc6877a3b7 ancestor rev@924404dff337
@@ -275,10 +293,13 @@
rev: versions differ -> m
c: remote created -> g
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
warning: detected divergent renames of a to:
b
c
+update: c 2/3 files (66.67%)
getting c
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ecf3cb2a4219+ other rev@e6abcc1a30c2 ancestor rev@924404dff337
@@ -301,9 +322,11 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@ac809aeed39a+ other b@af30c7647fc7 ancestor b@000000000000
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ac809aeed39a+ other rev@af30c7647fc7 ancestor rev@924404dff337
@@ -327,10 +350,13 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
removing a
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@59318016310c+ other b@e03727d2d66b ancestor b@000000000000
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@59318016310c+ other rev@e03727d2d66b ancestor rev@924404dff337
@@ -353,10 +379,13 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
getting a
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@ac809aeed39a+ other b@8dbce441892a ancestor b@000000000000
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ac809aeed39a+ other rev@8dbce441892a ancestor rev@924404dff337
@@ -380,10 +409,13 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
removing a
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@59318016310c+ other b@e03727d2d66b ancestor b@000000000000
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@59318016310c+ other rev@e03727d2d66b ancestor rev@924404dff337
@@ -406,10 +438,13 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
getting a
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@ac809aeed39a+ other b@8dbce441892a ancestor b@000000000000
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ac809aeed39a+ other rev@8dbce441892a ancestor rev@924404dff337
@@ -432,9 +467,11 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@0b76e65c8289+ other b@735846fee2d7 ancestor b@000000000000
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@0b76e65c8289+ other rev@735846fee2d7 ancestor rev@924404dff337
@@ -460,10 +497,13 @@
a: prompt recreating -> g
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
getting a
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@ecf3cb2a4219+ other b@8dbce441892a ancestor b@000000000000
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ecf3cb2a4219+ other rev@8dbce441892a ancestor rev@924404dff337
@@ -489,9 +529,12 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: a 1/3 files (33.33%)
+update: b 2/3 files (66.67%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b
my b@0b76e65c8289+ other b@e03727d2d66b ancestor b@000000000000
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@0b76e65c8289+ other rev@e03727d2d66b ancestor rev@924404dff337
@@ -520,9 +563,11 @@
preserving a for resolve of b
preserving rev for resolve of rev
removing a
+update: a 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging a and b to b
my b@e300d1c794ec+ other b@79cc6877a3b7 ancestor a@924404dff337
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@e300d1c794ec+ other rev@79cc6877a3b7 ancestor rev@924404dff337
@@ -550,9 +595,11 @@
rev: versions differ -> m
preserving b for resolve of b
preserving rev for resolve of rev
+update: b 1/2 files (50.00%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
my b@ec03c2ca8642+ other a@f4db7e329e71 ancestor a@924404dff337
+update: rev 2/2 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ec03c2ca8642+ other rev@f4db7e329e71 ancestor rev@924404dff337
@@ -583,11 +630,14 @@
c: remote created -> g
preserving b for resolve of b
preserving rev for resolve of rev
+update: b 1/3 files (33.33%)
picked tool 'python ../merge' for b (binary False symlink False)
merging b and a to b
my b@ecf3cb2a4219+ other a@2b958612230f ancestor a@924404dff337
premerge successful
+update: c 2/3 files (66.67%)
getting c
+update: rev 3/3 files (100.00%)
picked tool 'python ../merge' for rev (binary False symlink False)
merging rev
my rev@ecf3cb2a4219+ other rev@2b958612230f ancestor rev@924404dff337
--- a/tests/test-subrepo.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-subrepo.out Sun Feb 07 17:44:30 2010 -0600
@@ -56,6 +56,7 @@
overwrite None partial False
ancestor 1f14a2e2d3ec local f0d2028bf86d+ remote 1831e14459c4
.hgsubstate: versions differ -> m
+update: .hgsubstate 1/1 files (100.00%)
subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec
subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad:hg
getting subrepo t
@@ -63,6 +64,7 @@
overwrite True partial False
ancestor 60ca1237c194+ local 60ca1237c194+ remote 6747d179aa9a
t: remote is newer -> g
+update: t 1/1 files (100.00%)
getting t
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
@@ -78,6 +80,7 @@
overwrite None partial False
ancestor 1831e14459c4 local e45c8b14af55+ remote f94576341bcf
.hgsubstate: versions differ -> m
+update: .hgsubstate 1/1 files (100.00%)
subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4
subrepo t: both sides changed, merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4:hg
merging subrepo t
@@ -87,6 +90,7 @@
ancestor 6747d179aa9a local 20a0db6fbf6c+ remote 7af322bc1198
t: versions differ -> m
preserving t for resolve of t
+update: t 1/1 files (100.00%)
picked tool 'internal:merge' for t (binary False symlink False)
merging t
my t@20a0db6fbf6c+ other t@7af322bc1198 ancestor t@6747d179aa9a
--- a/tests/test-up-local-change.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-up-local-change.out Sun Feb 07 17:44:30 2010 -0600
@@ -24,9 +24,11 @@
a: versions differ -> m
b: remote created -> g
preserving a for resolve of a
+update: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@33aaa84a386b+ other a@802f095af299 ancestor a@33aaa84a386b
+update: b 2/2 files (100.00%)
getting b
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
changeset: 1:802f095af299
@@ -41,7 +43,9 @@
a: versions differ -> m
b: other deleted -> r
preserving a for resolve of a
+update: b 1/2 files (50.00%)
removing b
+update: a 2/2 files (100.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@802f095af299+ other a@33aaa84a386b ancestor a@33aaa84a386b
@@ -68,9 +72,11 @@
a: versions differ -> m
b: remote created -> g
preserving a for resolve of a
+update: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@33aaa84a386b+ other a@802f095af299 ancestor a@33aaa84a386b
+update: b 2/2 files (100.00%)
getting b
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
changeset: 1:802f095af299
@@ -123,9 +129,11 @@
b: versions differ -> m
preserving a for resolve of a
preserving b for resolve of b
+update: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@802f095af299+ other a@030602aee63d ancestor a@33aaa84a386b
+update: b 2/2 files (100.00%)
picked tool 'true' for b (binary False symlink False)
merging b
my b@802f095af299+ other b@030602aee63d ancestor b@000000000000
--- a/tests/test-update-reverse.out Sun Feb 07 12:00:40 2010 -0600
+++ b/tests/test-update-reverse.out Sun Feb 07 17:44:30 2010 -0600
@@ -46,8 +46,11 @@
side2: other deleted -> r
side1: other deleted -> r
main: remote created -> g
+update: side1 1/3 files (33.33%)
removing side1
+update: side2 2/3 files (66.67%)
removing side2
+update: main 3/3 files (100.00%)
getting main
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
Should only show a main