diff -r 0d28b0df77ea -r f282db2834f9 mercurial/subrepo.py --- a/mercurial/subrepo.py Sat Apr 11 00:47:09 2015 +0900 +++ b/mercurial/subrepo.py Sat Apr 11 00:47:09 2015 +0900 @@ -1115,10 +1115,9 @@ return self.ui.note(_('removing subrepo %s\n') % self._path) - path = self._ctx.repo().wjoin(self._path) self.wvfs.rmtree(forcibly=True) try: - os.removedirs(os.path.dirname(path)) + self._ctx.repo().wvfs.removedirs(os.path.dirname(self._path)) except OSError: pass