diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -862,7 +862,7 @@ class localrepository(object): (self.svfs, 'journal.phaseroots')) def undofiles(self): - return [vfs.join(undoname(x)) for vfs, x in self._journalfiles()] + return [(vfs, undoname(x)) for vfs, x in self._journalfiles()] def _writejournal(self, desc): self.opener.write("journal.dirstate", diff --git a/mercurial/repair.py b/mercurial/repair.py --- a/mercurial/repair.py +++ b/mercurial/repair.py @@ -157,12 +157,13 @@ def strip(ui, repo, nodelist, backup="al os.unlink(chgrpfile) # remove undo files - for undofile in repo.undofiles(): + for undovfs, undofile in repo.undofiles(): try: - os.unlink(undofile) + undovfs.unlink(undofile) except OSError, e: if e.errno != errno.ENOENT: - ui.warn(_('error removing %s: %s\n') % (undofile, str(e))) + ui.warn(_('error removing %s: %s\n') % + (undovfs.join(undofile), str(e))) for m in updatebm: bm[m] = repo[newbmtarget].node()