--- a/mercurial/localrepo.py Tue Mar 21 06:50:28 2017 -0700
+++ b/mercurial/localrepo.py Tue Mar 21 06:50:28 2017 -0700
@@ -2025,14 +2025,10 @@
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