diff mercurial/util.py @ 1207:a7b8812973d9

Rewrite copytree as copyfiles This inverts the logic of copytree to allow copying single files at the top level.
author mpm@selenic.com
date Wed, 07 Sep 2005 19:21:38 -0700
parents 333de1d53846
children 3b4f05ff3130
line wrap: on
line diff
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -217,20 +217,17 @@ def rename(src, dst):
         os.unlink(dst)
         os.rename(src, dst)
 
-def copytree(src, dst, copyfile):
+def copyfiles(src, dst, copyfile):
     """Copy a directory tree, files are copied using 'copyfile'."""
-    names = os.listdir(src)
-    os.mkdir(dst)
 
-    for name in names:
-        srcname = os.path.join(src, name)
-        dstname = os.path.join(dst, name)
-        if os.path.isdir(srcname):
-            copytree(srcname, dstname, copyfile)
-        elif os.path.isfile(srcname):
-            copyfile(srcname, dstname)
-        else:
-            pass
+    if os.path.isdir(src):
+        os.mkdir(dst)
+        for name in os.listdir(src):
+            srcname = os.path.join(src, name)
+            dstname = os.path.join(dst, name)
+            copyfiles(srcname, dstname, copyfile)
+    else:
+        copyfile(src, dst)
 
 def opener(base):
     """