diff --git a/mercurial/posix.py b/mercurial/posix.py --- a/mercurial/posix.py +++ b/mercurial/posix.py @@ -536,19 +536,6 @@ def gethgcmd(): def makedir(path, notindexed): os.mkdir(path) -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 lookupreg(key, name=None, scope=None): return None diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -136,7 +136,6 @@ statislink = platform.statislink testpid = platform.testpid umask = platform.umask unlink = platform.unlink -unlinkpath = platform.unlinkpath username = platform.username # Python compatibility @@ -1605,6 +1604,19 @@ class atomictempfile(object): 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 diff --git a/mercurial/windows.py b/mercurial/windows.py --- a/mercurial/windows.py +++ b/mercurial/windows.py @@ -385,19 +385,6 @@ def removedirs(name): break head, tail = os.path.split(head) -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 rename(src, dst): '''atomically rename file src to dst, replacing dst if it exists''' try: