# HG changeset patch # User FUJIWARA Katsunori # Date 1394294608 -32400 # Node ID a57dcd11be3407518cccc24d0f3a0d2b4c5301cd # Parent c20f4898631e2f5f954d7e8afe5fc05b14b7e55f repair: make paths in "_bundle()" relative to ".hg" This patch makes paths below in "_bundle()" relative to ".hg": - backup directory ("strip-backup"), and - bundle file under backup directory "vfs" is passed to "changegroup.writebundle()" to use relative path directly. This patch applies "vfs.join()" on the value returned by "_bundle()", because the caller expect it to return absolute path. This will be changed by succeeding patch changing the caller side. diff -r c20f4898631e -r a57dcd11be34 mercurial/repair.py --- a/mercurial/repair.py Sun Mar 09 01:03:28 2014 +0900 +++ b/mercurial/repair.py Sun Mar 09 01:03:28 2014 +0900 @@ -15,15 +15,16 @@ def _bundle(repo, bases, heads, node, suffix, compress=True): """create a bundle with the specified revisions as a backup""" cg = changegroup.changegroupsubset(repo, bases, heads, 'strip') - backupdir = repo.join("strip-backup") - if not os.path.isdir(backupdir): - os.mkdir(backupdir) - name = os.path.join(backupdir, "%s-%s.hg" % (short(node), suffix)) + backupdir = "strip-backup" + vfs = repo.vfs + if not vfs.isdir(backupdir): + vfs.mkdir(backupdir) + name = "%s/%s-%s.hg" % (backupdir, short(node), suffix) if compress: bundletype = "HG10BZ" else: bundletype = "HG10UN" - return changegroup.writebundle(cg, name, bundletype) + return vfs.join(changegroup.writebundle(cg, name, bundletype, vfs)) def _collectfiles(repo, striprev): """find out the filelogs affected by the strip"""