tests/test-generaldelta.t
author Augie Fackler <raf@durin42.com>
Sat, 07 Jun 2014 15:14:36 -0400
branchstable
changeset 21825 3666331164bb
parent 19942 2c886dedd902
child 23381 cc0ff93d0c0c
permissions -rwxr-xr-x
cmdutil: add copy-filtering support to duplicatecopies In order to fix issue 4192 we need to be able to skip some copies while doing duplicatecopies.

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 ..
  >>> import os
  >>> regsize = os.stat("repo/.hg/store/00manifest.i").st_size
  >>> gdsize = os.stat("gdrepo/.hg/store/00manifest.i").st_size
  >>> if regsize < gdsize:
  ...     print 'generaldata increased size of manifest'