--- a/mercurial/hg.py Mon May 31 21:43:03 2010 +0200
+++ b/mercurial/hg.py Mon May 31 13:47:51 2010 +0200
@@ -278,6 +278,7 @@
raise
hardlink = None
+ num = 0
for f in src_repo.store.copylist():
src = os.path.join(src_repo.sharedpath, f)
dst = os.path.join(dest_path, f)
@@ -288,7 +289,12 @@
if dst.endswith('data'):
# lock to avoid premature writing to the target
dest_lock = lock.lock(os.path.join(dstbase, "lock"))
- hardlink = util.copyfiles(src, dst, hardlink)
+ hardlink, n = util.copyfiles(src, dst, hardlink)
+ num += n
+ if hardlink:
+ ui.debug("linked %d files\n" % num)
+ else:
+ ui.debug("copied %d files\n" % num)
# we need to re-init the repo after manually copying the data
# into it
--- a/mercurial/util.py Mon May 31 21:43:03 2010 +0200
+++ b/mercurial/util.py Mon May 31 13:47:51 2010 +0200
@@ -453,12 +453,14 @@
hardlink = (os.stat(src).st_dev ==
os.stat(os.path.dirname(dst)).st_dev)
+ num = 0
if os.path.isdir(src):
os.mkdir(dst)
for name, kind in osutil.listdir(src):
srcname = os.path.join(src, name)
dstname = os.path.join(dst, name)
- hardlink = copyfiles(srcname, dstname, hardlink)
+ hardlink, n = copyfiles(srcname, dstname, hardlink)
+ num += n
else:
if hardlink:
try:
@@ -468,8 +470,9 @@
shutil.copy(src, dst)
else:
shutil.copy(src, dst)
+ num += 1
- return hardlink
+ return hardlink, num
class path_auditor(object):
'''ensure that a filesystem path contains no banned components.