sapling/tests/test-fb-hgext-treemanifest-treeonly-fetching.t
Durham Goode 9e90a464ee treemanifest: add flatcompat mode for test migration
Summary:
We want to migrate the tests to run using treemanifest. As part of
that, we want to first transition to using treemanifest without actually
changing the hash, so we can check that the tests still work first, then update
the hashes second.

This diff adds the flatcompat mode and enables it by default. A future diff will
start enabling treemanifest for existing tests.

Reviewed By: quark-zju

Differential Revision: D15030252

fbshipit-source-id: 06c82be749282d62f1d9cfb43246695c427f8165
2019-05-10 09:59:53 -07:00

72 lines
1.9 KiB
Perl

$ . "$TESTDIR/library.sh"
$ setconfig treemanifest.flatcompat=False
Setup the server
$ hginit master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [extensions]
> treemanifest=
> [treemanifest]
> server=True
> treeonly=True
> [remotefilelog]
> server=True
> shallowtrees=True
> EOF
Setup the client
$ cd ..
$ hgcloneshallow ssh://user@dummy/master client -q --config treemanifest.treeonly=True
$ cd client
$ cat >> .hg/hgrc <<EOF
> [extensions]
> treemanifest=
> fastmanifest=
>
> [treemanifest]
> sendtrees=True
> treeonly=True
>
> [fastmanifest]
> usetree=True
> usecache=False
>
> [remotefilelog]
> reponame=treeonlyrepo
> EOF
Make some commits
$ cd ../master
$ mkdir subdir
$ echo a >> subdir/foo
$ hg commit -Aqm 'a > subdir/foo'
$ echo b >> subdir/foo
$ hg commit -Aqm 'b >> subdir/foo'
$ echo c >> subdir/foo
$ hg commit -Aqm 'c >> subdir/foo'
$ echo d >> subdir/foo
$ hg commit -Aqm 'd >> subdir/foo'
Test that log -p downloads each tree using the prior tree as a base
$ cd ../client
$ hg pull -q
$ hg up tip
fetching tree '' f50e2ff15ddef5802543b56b0b84d742512e90f0, found via 3b158baa90a6
2 trees fetched over * (glob)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
$ hg log -p 1>/dev/null
fetching tree '' 88dd1b582645feb893f44bd3b20947ff2d275360, based on f50e2ff15ddef5802543b56b0b84d742512e90f0, found via 2f885f603416
2 trees fetched over * (glob)
fetching tree '' d09a7a1172be7d3c00d4bc16831b6394d11ce33f, based on 88dd1b582645feb893f44bd3b20947ff2d275360, found via 6bfefea56efe
2 trees fetched over * (glob)
fetching tree '' 1b3e02c1b4460e2d6264781579eb163e76cffad4, based on d09a7a1172be7d3c00d4bc16831b6394d11ce33f
2 trees fetched over * (glob)
3 files fetched over 3 fetches - (3 misses, 0.00% hit ratio) over * (glob)