##// END OF EJS Templates
Rewrite copytree as copyfiles...
mpm@selenic.com -
r1207:a7b88129 default
parent child Browse files
Show More
@@ -607,7 +607,7 b' def clone(ui, source, dest=None, **opts)'
607 # we use a lock here because because we're not nicely ordered
607 # we use a lock here because because we're not nicely ordered
608 l = lock.lock(os.path.join(source, ".hg", "lock"))
608 l = lock.lock(os.path.join(source, ".hg", "lock"))
609
609
610 util.copytree(os.path.join(source, ".hg"), os.path.join(dest, ".hg"),
610 util.copyfiles(os.path.join(source, ".hg"), os.path.join(dest, ".hg"),
611 copyfile)
611 copyfile)
612
612
613 for fn in "dirstate", "lock", "hgrc", "localtags":
613 for fn in "dirstate", "lock", "hgrc", "localtags":
@@ -217,20 +217,17 b' def rename(src, dst):'
217 os.unlink(dst)
217 os.unlink(dst)
218 os.rename(src, dst)
218 os.rename(src, dst)
219
219
220 def copytree(src, dst, copyfile):
220 def copyfiles(src, dst, copyfile):
221 """Copy a directory tree, files are copied using 'copyfile'."""
221 """Copy a directory tree, files are copied using 'copyfile'."""
222 names = os.listdir(src)
223 os.mkdir(dst)
224
222
225 for name in names:
223 if os.path.isdir(src):
226 srcname = os.path.join(src, name)
224 os.mkdir(dst)
227 dstname = os.path.join(dst, name)
225 for name in os.listdir(src):
228 if os.path.isdir(srcname):
226 srcname = os.path.join(src, name)
229 copytree(srcname, dstname, copyfile)
227 dstname = os.path.join(dst, name)
230 elif os.path.isfile(srcname):
228 copyfiles(srcname, dstname, copyfile)
231 copyfile(srcname, dstname)
229 else:
232 else:
230 copyfile(src, dst)
233 pass
234
231
235 def opener(base):
232 def opener(base):
236 """
233 """
General Comments 0
You need to be logged in to leave comments. Login now