[PATCH 11 of 11] localrepo: use tryunlink

Ryan McElroy rm at fb.com
Tue Mar 21 09:54:33 EDT 2017


# HG changeset patch
# User Ryan McElroy <rmcelroy at fb.com>
# Date 1490104228 25200
#      Tue Mar 21 06:50:28 2017 -0700
# Node ID f5d46850f168c1dab9d46688e900a22d5ddac05b
# Parent  ba24c5cdac8654da7d0d510e3643226e69cef187
localrepo: use tryunlink

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -2025,14 +2025,10 @@ def aftertrans(files):
     renamefiles = [tuple(t) for t in files]
     def a():
         for vfs, src, dest in renamefiles:
-            try:
-                # if src and dest refer to a same file, vfs.rename is a no-op,
-                # leaving both src and dest on disk. delete dest to make sure
-                # the rename couldn't be such a no-op.
-                vfs.unlink(dest)
-            except OSError as ex:
-                if ex.errno != errno.ENOENT:
-                    raise
+            # if src and dest refer to a same file, vfs.rename is a no-op,
+            # leaving both src and dest on disk. delete dest to make sure
+            # the rename couldn't be such a no-op.
+            vfs.tryunlink(dest)
             try:
                 vfs.rename(src, dest)
             except OSError: # journal file does not yet exist


More information about the Mercurial-devel mailing list