# HG changeset patch # User Vadim Gelfer # Date 1144282627 25200 # Node ID e49d0fa381769c52d5631323fecd505cd603c774 # Parent f70952384ae7c4108a10be3acc6b0b9164b3b8a5 util.copyfiles: only switch to copy if hardlink raises IOError or OSError. before this, interrupting clone would give "file a same as file b" error because caught KeyboardInterrupt. diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -393,7 +393,7 @@ def copyfiles(src, dst, hardlink=None): if hardlink: try: os_link(src, dst) - except: + except (IOError, OSError): hardlink = False shutil.copy(src, dst) else: