python implementation of diffstat
Implemented as two functions: diffstat, which yields lines of text,
formatted as a usual diffstat output, and diffstatdata, which is called
inside diffstat to do real performing and yield file names with
appropriate data (numbers of added and removed lines).
#!/bin/sh
echo % bundle w/o type option
hg init t1
hg init t2
cd t1
echo blablablablabla > file.txt
hg ci -Ama
hg log | grep summary
hg bundle ../b1 ../t2
cd ../t2
hg pull ../b1
hg up
hg log | grep summary
cd ..
for t in "None" "bzip2" "gzip"; do
echo % test bundle type $t
hg init t$t
cd t1
hg bundle -t $t ../b$t ../t$t
cut -b 1-6 ../b$t | head -n 1
cd ../t$t
hg pull ../b$t
hg up
hg log | grep summary
cd ..
done
echo % test garbage file
echo garbage > bgarbage
hg init tgarbage
cd tgarbage
hg pull ../bgarbage
cd ..
echo % test invalid bundle type
cd t1
hg bundle -a -t garbage ../bgarbage
cd ..