diff --git a/mercurial/repair.py b/mercurial/repair.py index 5b58714e97edbbd1e09f7717cf6564e0191d8f57_bWVyY3VyaWFsL3JlcGFpci5weQ==..ad5b61370514e8a72423463a3c21d5691716cabf_bWVyY3VyaWFsL3JlcGFpci5weQ== 100644 --- a/mercurial/repair.py +++ b/mercurial/repair.py @@ -9,7 +9,6 @@ from mercurial import changegroup from mercurial.node import short from mercurial.i18n import _ -import os import errno def _bundle(repo, bases, heads, node, suffix, compress=True): @@ -24,7 +23,7 @@ bundletype = "HG10BZ" else: bundletype = "HG10UN" - return vfs.join(changegroup.writebundle(cg, name, bundletype, vfs)) + return changegroup.writebundle(cg, name, bundletype, vfs) def _collectfiles(repo, striprev): """find out the filelogs affected by the strip""" @@ -109,5 +108,6 @@ # create a changegroup for all the branches we need to keep backupfile = None + vfs = repo.vfs if backup == "all": backupfile = _bundle(repo, stripbases, cl.heads(), node, topic) @@ -112,7 +112,9 @@ if backup == "all": backupfile = _bundle(repo, stripbases, cl.heads(), node, topic) - repo.ui.status(_("saved backup bundle to %s\n") % backupfile) - repo.ui.log("backupbundle", "saved backup bundle to %s\n", backupfile) + repo.ui.status(_("saved backup bundle to %s\n") % + vfs.join(backupfile)) + repo.ui.log("backupbundle", "saved backup bundle to %s\n", + vfs.join(backupfile)) if saveheads or savebases: # do not compress partial bundle if we remove it from disk later chgrpfile = _bundle(repo, savebases, saveheads, node, 'temp', @@ -144,9 +146,9 @@ if saveheads or savebases: ui.note(_("adding branch\n")) - f = open(chgrpfile, "rb") - gen = changegroup.readbundle(f, chgrpfile) + f = vfs.open(chgrpfile, "rb") + gen = changegroup.readbundle(f, chgrpfile, vfs) if not repo.ui.verbose: # silence internal shuffling chatter repo.ui.pushbuffer() changegroup.addchangegroup(repo, gen, 'strip', @@ -149,9 +151,9 @@ if not repo.ui.verbose: # silence internal shuffling chatter repo.ui.pushbuffer() changegroup.addchangegroup(repo, gen, 'strip', - 'bundle:' + chgrpfile, True) + 'bundle:' + vfs.join(chgrpfile), True) if not repo.ui.verbose: repo.ui.popbuffer() f.close() if not keeppartialbundle: @@ -154,8 +156,8 @@ if not repo.ui.verbose: repo.ui.popbuffer() f.close() if not keeppartialbundle: - os.unlink(chgrpfile) + vfs.unlink(chgrpfile) # remove undo files for undovfs, undofile in repo.undofiles(): @@ -172,6 +174,6 @@ except: # re-raises if backupfile: ui.warn(_("strip failed, full bundle stored in '%s'\n") - % backupfile) + % vfs.join(backupfile)) elif saveheads: ui.warn(_("strip failed, partial bundle stored in '%s'\n") @@ -176,6 +178,6 @@ elif saveheads: ui.warn(_("strip failed, partial bundle stored in '%s'\n") - % chgrpfile) + % vfs.join(chgrpfile)) raise repo.destroyed()