diff --git a/mercurial/exchange.py b/mercurial/exchange.py index c93bb6a08fa1e9bba6e3b38a368c5961b77f0ebe_bWVyY3VyaWFsL2V4Y2hhbmdlLnB5..dda41da069a49b7dc68b7fe8d01c3b58ba315ff6_bWVyY3VyaWFsL2V4Y2hhbmdlLnB5 100644 --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -601,9 +601,11 @@ # very crude first implementation, # the bundle API will change and the generation will be done lazily. bundler = bundle2.bundle20(repo.ui) - tempname = changegroup.writebundle(cg, None, 'HG10UN') - data = open(tempname).read() - part = bundle2.part('changegroup', data=data) + def cgchunks(cg=cg): + yield 'HG10UN' + for c in cg.getchunks(): + yield c + part = bundle2.part('changegroup', data=cgchunks()) bundler.addpart(part) temp = cStringIO.StringIO() for c in bundler.getchunks():