diff -r a57dcd11be34 -r 5b58714e97ed mercurial/changegroup.py --- a/mercurial/changegroup.py Sun Mar 09 01:03:28 2014 +0900 +++ b/mercurial/changegroup.py Sun Mar 09 01:03:28 2014 +0900 @@ -214,7 +214,7 @@ return d return readexactly(self._fh, n) -def readbundle(fh, fname): +def readbundle(fh, fname, vfs=None): header = readexactly(fh, 6) if not fname: @@ -222,6 +222,8 @@ if not header.startswith('HG') and header.startswith('\0'): fh = headerlessfixup(fh, header) header = "HG10UN" + elif vfs: + fname = vfs.join(fname) magic, version, alg = header[0:2], header[2:4], header[4:6]