mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
490468403b
Summary: The rust contentstore doesn't allow runtime manipulation of the list of stores, which is required in order to insert the bundle store into the store. Let's continue using the old python union store in these cases. This still let's us delete the python pack code later, but we'll have to keep around the python union store until we come up with a better solution. Reviewed By: quark-zju Differential Revision: D23689630 fbshipit-source-id: 0c60e6f268e81804149afa24409f64b5303e1e34
110 lines
3.2 KiB
Perl
110 lines
3.2 KiB
Perl
#chg-compatible
|
|
|
|
|
|
Setup the test
|
|
$ . "$TESTDIR/library.sh"
|
|
$ . "$TESTDIR/infinitepush/library.sh"
|
|
$ setupcommon
|
|
$ enable infinitepush pushrebase
|
|
$ cp "$HGRCPATH" "$TESTTMP/defaulthgrc"
|
|
$ hg init repo1
|
|
$ cd repo1
|
|
$ setupserver
|
|
$ cd ..
|
|
$ hg init repo2
|
|
$ cd repo2
|
|
$ setupserver
|
|
$ cd ..
|
|
$ hg init repo3
|
|
$ cd repo3
|
|
$ setupserver
|
|
$ cd ..
|
|
|
|
Check that we replicate a push
|
|
$ hg clone ssh://user@dummy/repo1 client -q
|
|
$ cp "$TESTTMP/defaulthgrc" "$HGRCPATH"
|
|
$ cat >> "$HGRCPATH" << EOF
|
|
> [paths]
|
|
> default-push=ssh://user@dummy/repo3
|
|
> infinitepush=ssh://user@dummy/repo1
|
|
> infinitepush-other=ssh://user@dummy/repo2
|
|
> [infinitepush]
|
|
> branchpattern=re:scratch/.+
|
|
> EOF
|
|
$ cd client
|
|
$ mkcommit initialcommit
|
|
$ hg push -r . --to scratch/test123 --create
|
|
pushing to ssh://user@dummy/repo1
|
|
searching for changes
|
|
remote: pushing 1 commit:
|
|
remote: 67145f466344 initialcommit
|
|
please wait while we replicate this push to an alternate repository
|
|
pushing to ssh://user@dummy/repo2
|
|
searching for changes
|
|
remote: pushing 1 commit:
|
|
remote: 67145f466344 initialcommit
|
|
$ mkcommit morecommit
|
|
$ hg push infinitepush -r . --to scratch/test123
|
|
pushing to ssh://user@dummy/repo1
|
|
searching for changes
|
|
remote: pushing 2 commits:
|
|
remote: 67145f466344 initialcommit
|
|
remote: 6b2f28e02245 morecommit
|
|
please wait while we replicate this push to an alternate repository
|
|
pushing to ssh://user@dummy/repo2
|
|
searching for changes
|
|
remote: pushing 2 commits:
|
|
remote: 67145f466344 initialcommit
|
|
remote: 6b2f28e02245 morecommit
|
|
$ mkcommit anothercommit
|
|
$ hg push default -r . --to scratch/test123
|
|
pushing to ssh://user@dummy/repo1
|
|
searching for changes
|
|
remote: pushing 3 commits:
|
|
remote: 67145f466344 initialcommit
|
|
remote: 6b2f28e02245 morecommit
|
|
remote: 17528c345014 anothercommit
|
|
please wait while we replicate this push to an alternate repository
|
|
pushing to ssh://user@dummy/repo2
|
|
searching for changes
|
|
remote: pushing 3 commits:
|
|
remote: 67145f466344 initialcommit
|
|
remote: 6b2f28e02245 morecommit
|
|
remote: 17528c345014 anothercommit
|
|
$ cd ..
|
|
|
|
Check that we do not replicate a push to the same destination
|
|
$ hg clone ssh://user@dummy/repo1 client2 -q
|
|
$ cp "$TESTTMP/defaulthgrc" "$HGRCPATH"
|
|
$ cat >> "$HGRCPATH" << EOF
|
|
> [paths]
|
|
> infinitepush-other=ssh://user@dummy/repo1
|
|
> [infinitepush]
|
|
> branchpattern=re:scratch/.+
|
|
> EOF
|
|
$ cd client2
|
|
$ mkcommit initialcommit
|
|
$ hg push -r . --to scratch/test456 --create
|
|
pushing to ssh://user@dummy/repo1
|
|
searching for changes
|
|
remote: pushing 1 commit:
|
|
remote: 67145f466344 initialcommit
|
|
$ cd ..
|
|
Check that we do not replicate a push when the destination is set
|
|
$ hg clone ssh://user@dummy/repo1 client3 -q
|
|
$ cp "$TESTTMP/defaulthgrc" "$HGRCPATH"
|
|
$ cat >> "$HGRCPATH" << EOF
|
|
> [paths]
|
|
> infinitepush-other=ssh://user@dummy/repo2
|
|
> [infinitepush]
|
|
> branchpattern=re:scratch/.+
|
|
> EOF
|
|
$ cd client3
|
|
$ mkcommit initialcommit
|
|
$ hg push ssh://user@dummy/repo3 -r . --to scratch/test789 --create
|
|
pushing to ssh://user@dummy/repo3
|
|
searching for changes
|
|
remote: pushing 1 commit:
|
|
remote: 67145f466344 initialcommit
|
|
$ cd ..
|