sapling/tests/test-fb-hgext-treemanifest-pullpublic.t
Jun Wu b178492317 changelog: disable inline revlog
Summary:
The inline revlog format merges `.i` and `.d` into one `.i` file. It was intended to reduce the
number of files for filelogs. For the changelog one extra file does not hurt.

This makes it easier to write native code parsing the changelog revlog index.

Reviewed By: xavierd

Differential Revision: D17125922

fbshipit-source-id: f48ffe0d2df71abec007a80e05b684dcbac71883
2019-08-30 14:58:02 -07:00

83 lines
2.4 KiB
Perl

$ setconfig extensions.treemanifest=!
$ . "$TESTDIR/library.sh"
$ setconfig devel.print-metrics=1
$ setconfig treemanifest.treeonly=False
$ hginit master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [extensions]
> pushrebase=
> treemanifest=
> [remotefilelog]
> server=True
> [treemanifest]
> server=True
> EOF
$ mkcommit a
$ mkcommit b
$ hg phase -p -r 'all()'
Clone it
$ cd ..
$ hgcloneshallow ssh://user@dummy/master client1 -q --config extensions.treemanifest= --config treemanifest.treeonly=True
fetching tree '' a539ce0c1a22b0ecf34498f9f5ce8ea56df9ecb7, found via d2ae7f538514
1 trees fetched over * (glob)
2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over * (glob)
{ metrics : { ssh : { connections : 2,
getfiles : { calls : 1, revs : 2},
gettreepack : { basemfnodes : 0,
calls : 1,
mfnodes : 1},
read : { bytes : 2252},
write : { bytes : 1042}}}}
$ cd client1
$ cat >> .hg/hgrc <<EOF
> [extensions]
> treemanifest=
>
> [treemanifest]
> treeonly=True
> sendtrees=True
> EOF
Add a few more public server comits
$ cd ../master
$ mkcommit c
$ mkcommit d
$ mkcommit e
$ hg phase -p -r 'all()'
Create an extension the prints out whenever we compare manifests on the server
$ cat > "$TESTTMP/diffdebug.py" << EOF
> from edenscm.mercurial import manifest
> class manifestdict(manifest.manifestdict):
> ui = None
> def diff(self, *args, **kwargs):
> if self.ui:
> self.ui.warn("*** manifestdict is comparing manifests\n")
> return super(manifestdict, self).diff(*args, **kwargs)
> def extsetup(ui):
> manifestdict.ui = ui
> manifest.manifestdict = manifestdict
> EOF
$ cat >> .hg/hgrc <<EOF
> [extensions]
> diffdebug=$TESTTMP/diffdebug.py
> EOF
Pull exactly up to d into the client
$ cd ../client1
$ hg pull -r 055a42cdd887
pulling from ssh://user@dummy/master
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 0 changes to 0 files
new changesets 177f92b77385:055a42cdd887
{ metrics : { ssh : { connections : 1,
read : { bytes : 1170},
write : { bytes : 708}}}}