2013-09-20 21:45:51 +04:00
|
|
|
Check whether size of generaldelta revlog is not bigger than its
|
|
|
|
regular equivalent. Test would fail if generaldelta was naive
|
|
|
|
implementation of parentdelta: third manifest revision would be fully
|
|
|
|
inserted due to big distance from its paren revision (zero).
|
|
|
|
|
|
|
|
$ hg init repo
|
|
|
|
$ cd repo
|
|
|
|
$ echo foo > foo
|
|
|
|
$ echo bar > bar
|
|
|
|
$ hg commit -q -Am boo
|
|
|
|
$ hg clone --pull . ../gdrepo -q --config format.generaldelta=yes
|
|
|
|
$ for r in 1 2 3; do
|
|
|
|
> echo $r > foo
|
|
|
|
> hg commit -q -m $r
|
|
|
|
> hg up -q -r 0
|
|
|
|
> hg pull . -q -r $r -R ../gdrepo
|
|
|
|
> done
|
|
|
|
$ cd ..
|
|
|
|
$ regsize=`du -s -b repo/.hg/store/00manifest.i | cut -f 1`
|
|
|
|
$ gdsize=`du -s -b gdrepo/.hg/store/00manifest.i | cut -f 1`
|
2013-09-24 00:22:28 +04:00
|
|
|
$ if [ $regsize -gt $gdsize ]; then
|
2013-09-20 21:45:51 +04:00
|
|
|
> echo 'generaldelta increased size of a revlog!'
|
|
|
|
> fi
|