diff -r fe094cca9915 -r 7f3f55903496 mercurial/commands.py --- a/mercurial/commands.py Tue Aug 16 14:17:27 2005 -0800 +++ b/mercurial/commands.py Tue Aug 16 14:53:47 2005 -0800 @@ -7,7 +7,7 @@ from demandload import demandload demandload(globals(), "os re sys signal shutil") -demandload(globals(), "fancyopts ui hg util") +demandload(globals(), "fancyopts ui hg util lock") demandload(globals(), "fnmatch hgweb mdiff random signal time traceback") demandload(globals(), "errno socket version struct atexit") @@ -494,6 +494,9 @@ and getattr(os, 'link', None) or shutil.copy2) if copyfile is not shutil.copy2: ui.note("cloning by hardlink\n") + # 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"), copyfile) try: