[Request] [+ ] D10841: copyfiles: deal with existing file when hardlinking
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Jun 9 14:37:31 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
If the hardlinking fails, we fallback to `shutil.copy`, but do not consider
future hardlinking doomed.
This is a slight improvement from the current situation, we still avoid
hardliking in a case we might be able to do it. However this does not have an
impact of the rest of the operation.
(This is an opportunity improvement while looking at something next to that.)
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D10841
AFFECTED FILES
mercurial/util.py
CHANGE DETAILS
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -2009,8 +2009,10 @@
if hardlink:
try:
oslink(src, dst)
- except (IOError, OSError):
- hardlink = False
+ except (IOError, OSError) as exc:
+ if exc.errno != errno.EEXIST:
+ hardlink = False
+ # XXX maybe try to relink if the file exist ?
shutil.copy(src, dst)
else:
shutil.copy(src, dst)
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210609/000aa977/attachment.html>
More information about the Mercurial-patches
mailing list