Mercurial > public > mercurial-scm > hg
diff mercurial/hg.py @ 24440:27ad6b91f5c2
clone: add progress support to hardlink clones (issue3059)
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 13 Mar 2015 18:28:11 -0400 |
parents | 6ddc86eedc3b |
children | e0b0fbd47491 |
line wrap: on
line diff
--- 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)