sapling/eden/scm/tests/test-fb-hgext-treemanifest-sendtrees.t
Durham Goode 9c1b611dff indexedlog: make writing to indexedlog the default
Summary:
We've rolled both of these out to 100%. Let's make this the default so
we can delete those configs.

Reviewed By: quark-zju

Differential Revision: D26233645

fbshipit-source-id: cd7a08c404483f78ab714763870f5bf0fa801e7a
2021-02-11 09:34:55 -08:00

92 lines
2.6 KiB
Raku

#chg-compatible
$ . "$TESTDIR/library.sh"
$ setconfig remotefilelog.write-hgcache-to-indexedlog=False remotefilelog.write-local-to-indexedlog=False
$ cat >> $HGRCPATH <<EOF
> [extensions]
> pushrebase=
> remotenames=
> [treemanifest]
> sendtrees=True
> EOF
Setup the server
$ hginit master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [treemanifest]
> server=True
> [remotefilelog]
> server=True
> shallowtrees=True
> EOF
Make local commits on the server
$ mkdir subdir
$ echo x > subdir/x
$ hg commit -qAm 'add subdir/x'
$ hg book master
The following will turn on sendtrees mode for a hybrid client and verify it
sends them during a push and during bundle operations.
Create flat manifest clients
$ cd ..
$ hgcloneshallow ssh://user@dummy/master client1 -q
fetching tree '' 85b359fdb09e9b8d7ac4a74551612b277345e8fd, found via 2278cc8c6ce6
2 trees fetched over * (glob)
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) (?)
$ hgcloneshallow ssh://user@dummy/master client2 -q
Transition to hybrid flat+tree client
$ cat >> client1/.hg/hgrc <<EOF
> [extensions]
> amend=
> [treemanifest]
> demanddownload=True
> EOF
$ cat >> client2/.hg/hgrc <<EOF
> [extensions]
> amend=
> [treemanifest]
> demanddownload=True
> EOF
Make a draft commit
$ cd client1
$ echo f >> subdir/x
$ hg commit -qm "hybrid commit"
$ hg debugdatapack .hg/store/packs/manifests/*datapack
.hg/store/packs/manifests/5395c3a9f408d2f2ffac93a2f1d6f039234be6ff:
subdir:
Node Delta Base Delta Length Blob Size
97c1b2747888 000000000000 43 (missing)
(empty name):
Node Delta Base Delta Length Blob Size
c0196aba344d 000000000000 49 (missing)
Test bundling/unbundling
$ hg bundle -r . --base '.^' ../treebundle.hg --debug 2>&1 | grep treegroup
bundle2-output-part: "b2x:treegroup2" (params: 3 mandatory) streamed payload
$ cd ../client2
$ hg unbundle ../treebundle.hg --debug 2>&1 | grep treegroup
bundle2-input-part: "b2x:treegroup2" (params: 3 mandatory) supported
$ hg debugdatapack .hg/store/packs/manifests/*datapack
.hg/store/packs/manifests/5395c3a9f408d2f2ffac93a2f1d6f039234be6ff:
subdir:
Node Delta Base Delta Length Blob Size
97c1b2747888 000000000000 43 (missing)
(empty name):
Node Delta Base Delta Length Blob Size
c0196aba344d 000000000000 49 (missing)
Test pushing
$ hg push -r tip --to master --debug 2>&1 2>&1 | grep rebasepackpart
bundle2-output-part: "b2x:rebasepackpart" (params: 3 mandatory) streamed payload