Mercurial > hg-stable
diff mercurial/posix.py @ 18143:242d2f4ec01c
util: fold ENOENT check into unlinkpath, controlled by new ignoremissing flag
Refactor a common pattern.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Fri, 28 Dec 2012 11:55:57 +0100 |
parents | ae54cff742e2 |
children | 0d5a22f73a1f |
line wrap: on
line diff
--- a/mercurial/posix.py Fri Dec 28 11:55:45 2012 +0100 +++ b/mercurial/posix.py Fri Dec 28 11:55:57 2012 +0100 @@ -443,9 +443,13 @@ def makedir(path, notindexed): os.mkdir(path) -def unlinkpath(f): +def unlinkpath(f, ignoremissing=False): """unlink and remove the directory if it is empty""" - os.unlink(f) + try: + os.unlink(f) + except OSError, e: + if not (ignoremissing and e.errno == errno.ENOENT): + raise # try removing directories that might now be empty try: os.removedirs(os.path.dirname(f))