--- a/mercurial/repair.py Sun Mar 09 01:03:28 2014 +0900
+++ b/mercurial/repair.py Sun Mar 09 01:03:28 2014 +0900
@@ -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,10 +108,13 @@
# 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)
- 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,18 +146,18 @@
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',
- 'bundle:' + chgrpfile, True)
+ 'bundle:' + vfs.join(chgrpfile), True)
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,10 +174,10 @@
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")
- % chgrpfile)
+ % vfs.join(chgrpfile))
raise
repo.destroyed()