changegroup: avoid large copies
- handle chunk headers separately rather than prepending them to
(potentially large) chunks
- break large chunks into 1M pieces for compression
- don't prepend file metadata onto (potentially large) file data
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg init a
cd a
echo a > a
hg ci -Ama
hg qnew a.patch
echo a >> a
hg qrefresh
hg qnew b.patch
echo b > b
hg add b
hg qrefresh
hg qnew c.patch
echo c > c
hg add c
hg qrefresh
hg qgoto a.patch
hg qgoto c.patch
hg qgoto b.patch