diff mercurial/subrepo.py @ 13015:82ca0c43bc44 stable

subrepo: prune empty directories when removing svn subrepo
author Patrick Mezard <pmezard@gmail.com>
date Wed, 17 Nov 2010 21:25:23 +0100
parents d1c52354b0a9
children 9efc316a6716 d0e21c5fde41
line wrap: on
line diff
--- a/mercurial/subrepo.py	Wed Nov 17 21:24:36 2010 +0100
+++ b/mercurial/subrepo.py	Wed Nov 17 21:25:23 2010 +0100
@@ -564,7 +564,12 @@
             os.chmod(path, stat.S_IMODE(s.st_mode) | stat.S_IWRITE)
             os.remove(path)
 
-        shutil.rmtree(self._ctx._repo.wjoin(self._path), onerror=onerror)
+        path = self._ctx._repo.wjoin(self._path)
+        shutil.rmtree(path, onerror=onerror)
+        try:
+            os.removedirs(os.path.dirname(path))
+        except OSError:
+            pass
 
     def get(self, state):
         status = self._svncommand(['checkout', state[0], '--revision', state[1]])