--- a/mercurial/util.py Tue Mar 21 06:50:28 2017 -0700
+++ b/mercurial/util.py Tue Mar 21 06:50:28 2017 -0700
@@ -136,7 +136,6 @@
testpid = platform.testpid
umask = platform.umask
unlink = platform.unlink
-unlinkpath = platform.unlinkpath
username = platform.username
# Python compatibility
@@ -1605,6 +1604,19 @@
else:
self.close()
+def unlinkpath(f, ignoremissing=False):
+ """unlink and remove the directory if it is empty"""
+ try:
+ unlink(f)
+ except OSError as e:
+ if not (ignoremissing and e.errno == errno.ENOENT):
+ raise
+ # try removing directories that might now be empty
+ try:
+ removedirs(os.path.dirname(f))
+ except OSError:
+ pass
+
def makedirs(name, mode=None, notindexed=False):
"""recursive directory creation with parent mode inheritance