--- a/mercurial/hg.py Thu Mar 19 10:24:22 2015 -0400
+++ b/mercurial/hg.py Fri Mar 13 18:28:11 2015 -0400
@@ -243,6 +243,12 @@
try:
hardlink = None
num = 0
+ closetopic = [None]
+ def prog(topic, pos):
+ if pos is None:
+ closetopic[0] = topic
+ else:
+ ui.progress(topic, pos + num)
srcpublishing = srcrepo.ui.configbool('phases', 'publish', True)
srcvfs = scmutil.vfs(srcrepo.sharedpath)
dstvfs = scmutil.vfs(destpath)
@@ -259,12 +265,16 @@
# lock to avoid premature writing to the target
destlock = lock.lock(dstvfs, lockfile)
hardlink, n = util.copyfiles(srcvfs.join(f), dstvfs.join(f),
- hardlink)
+ hardlink, progress=prog)
num += n
if hardlink:
ui.debug("linked %d files\n" % num)
+ if closetopic[0]:
+ ui.progress(closetopic[0], None)
else:
ui.debug("copied %d files\n" % num)
+ if closetopic[0]:
+ ui.progress(closetopic[0], None)
return destlock
except: # re-raises
release(destlock)