sapling/tests/test-fb-hgext-treemanifest-pushrebase-treeonly.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

64 lines
1.9 KiB
Perl

Push treeonly commits from a treeonly shallow repo to a treeonly server
$ setconfig remotefilelog.reponame=x remotefilelog.cachepath=$TESTTMP/cache ui.ssh="python $TESTDIR/dummyssh"
$ setconfig treemanifest.flatcompat=False
$ newrepo server
$ setconfig treemanifest.server=True
$ enable pushrebase treemanifest
$ newrepo client
$ setconfig paths.default=ssh://user@dummy/server
$ echo remotefilelog >> .hg/requires
$ enable treemanifest remotefilelog pushrebase remotenames
$ setconfig treemanifest.sendtrees=True treemanifest.treeonly=True
$ drawdag <<'EOS'
> B
> |
> A
> EOS
$ hg push --to foo -r $B --create
pushing rev 112478962961 to destination ssh://user@dummy/server bookmark foo
searching for changes
remote: pushing 2 changesets:
remote: 426bada5c675 A
remote: 112478962961 B
exporting bookmark foo
Make server treeonly and push trees to it
$ switchrepo server
$ setconfig treemanifest.treeonly=True
$ switchrepo client
$ hg up $A
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ mkdir sub
$ echo >> sub/C
$ hg commit -Aqm "C"
$ echo >> sub/C
$ hg commit -qm "D"
$ hg push --to foo
pushing rev 0560779f58ae to destination ssh://user@dummy/server bookmark foo
searching for changes
remote: pushing 2 changesets:
remote: e297a1e684b7 C
remote: 0560779f58ae D
remote: 2 new changesets from the server will be downloaded
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
2 new obsolescence markers
updating bookmark foo
obsoleted 2 changesets
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ tglog --stat -l 2
@ 5: d9ee86e3acc1 'D' sub/C | 1 +
| 1 files changed, 1 insertions(+), 0 deletions(-)
|
o 4: 4197fbd39b1b 'C' sub/C | 1 +
| 1 files changed, 1 insertions(+), 0 deletions(-)
~