Mercurial > hg
changeset 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 | 6512d352d6c1 |
children | 4644df4944ff |
files | mercurial/commands.py mercurial/util.py |
diffstat | 2 files changed, 10 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Wed Sep 07 19:16:36 2005 -0700 +++ b/mercurial/commands.py Wed Sep 07 19:21:38 2005 -0700 @@ -607,7 +607,7 @@ # we use a lock here because because we're not nicely ordered l = lock.lock(os.path.join(source, ".hg", "lock")) - util.copytree(os.path.join(source, ".hg"), os.path.join(dest, ".hg"), + util.copyfiles(os.path.join(source, ".hg"), os.path.join(dest, ".hg"), copyfile) for fn in "dirstate", "lock", "hgrc", "localtags":
--- a/mercurial/util.py Wed Sep 07 19:16:36 2005 -0700 +++ b/mercurial/util.py Wed Sep 07 19:21:38 2005 -0700 @@ -217,20 +217,17 @@ 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): """