mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
ad813edcbd
Summary: Now that all our repos are treemanifest, let's enable the extension by default in tests. Once we're certain no one needs it in production we'll also make it the default in core Mercurial. This diff includes a minor fix in treemanifest to be aware of always-enabled extensions. It won't matter until we actually add treemanifest to the list of default enabled extensions, but I caught this while testing things. Reviewed By: ikostia Differential Revision: D15030253 fbshipit-source-id: d8361f915928b6ad90665e6ed330c1df5c8d8d86
121 lines
3.2 KiB
Perl
121 lines
3.2 KiB
Perl
Demonstrates the "cannot rebase public commits" issue seen using hgsql and
|
|
pushrebase.
|
|
|
|
$ setconfig extensions.treemanifest=!
|
|
$ . "$TESTDIR/hgsql/library.sh"
|
|
$ setconfig hgsql.verbose=True
|
|
$ setconfig pushrebase.verbose=True
|
|
$ enable pushrebase
|
|
$ enable strip
|
|
$ setconfig ui.ssh='python "$RUNTESTDIR/dummyssh"'
|
|
$ commit() {
|
|
> hg commit -Aq -m "$@"
|
|
> }
|
|
|
|
$ log() {
|
|
> hg log -G -T "{desc} [{phase}:{node|short}] {bookmarks} {remotenames}" "$@"
|
|
> }
|
|
|
|
$ config() {
|
|
> setconfig experimental.bundle2lazylocking=True
|
|
> setconfig pushrebase.runhgsqlsync=True
|
|
> enable pushrebase
|
|
> }
|
|
|
|
$ config_server() {
|
|
> config
|
|
> configureserver . foo
|
|
> }
|
|
|
|
$ clone() { # Usage: "clone <client directory> <source directory>
|
|
> SRC=${2:-server1}
|
|
> hg clone ssh://user@dummy/$SRC $1 -q
|
|
> cd $1
|
|
> hg up -q master
|
|
> config
|
|
> }
|
|
|
|
Set up server repository.
|
|
|
|
$ newrepo server1
|
|
$ config_server
|
|
$ echo foo > base
|
|
$ commit "base"
|
|
[hgsql] got lock after * seconds (read 1 rows) (glob)
|
|
[hgsql] held lock for * seconds (read 5 rows; write 5 rows) (glob)
|
|
$ cd ..
|
|
|
|
Add a new commit to server2 (as if we stripped in server1):
|
|
|
|
$ cp -R server1 server2
|
|
$ cd server2
|
|
$ echo foo > a
|
|
$ commit "first"
|
|
[hgsql] got lock after * seconds (read 1 rows) (glob)
|
|
[hgsql] held lock for * seconds (read 8 rows; write 7 rows) (glob)
|
|
$ hg book -r . master
|
|
[hgsql] got lock after * seconds (read 1 rows) (glob)
|
|
[hgsql] held lock for * seconds (read 5 rows; write 1 rows) (glob)
|
|
$ log
|
|
@ first [draft:8585ef078134] master
|
|
|
|
|
o base [draft:4ced94c0a443]
|
|
|
|
Stop syncs in server1 so it doesn't pick up the new commit:
|
|
$ cd ../server1
|
|
$ cd .hg/store
|
|
$ ln -s "foo:9" synclimiter
|
|
$ cd ../../../
|
|
|
|
Clone client1 from the server2 repo (with the extra commit).
|
|
|
|
$ clone client1 server2
|
|
$ cd ../client1
|
|
|
|
Create a _third_ draft commit, push to the (behind) server1:
|
|
|
|
$ echo "foo" > foo
|
|
$ commit "third commit"
|
|
$ rm ../server1/.hg/store/synclimiter_
|
|
rm: cannot remove '../server1/.hg/store/synclimiter_': $ENOENT$
|
|
[1]
|
|
$ hg push --to master ssh://user@dummy/server1
|
|
pushing to ssh://user@dummy/server1
|
|
remote: [hgsql] skipping database sync because another process is already syncing
|
|
remote: [hgsql] getting 1 commits from database
|
|
searching for changes
|
|
remote: checking conflicts with 8585ef078134
|
|
remote: pushing 1 changeset:
|
|
remote: 87df66bba286 third commit
|
|
remote: [hgsql] got lock after * seconds (read 1 rows) (glob)
|
|
remote: rebasing stack from 8585ef078134 onto 8585ef078134
|
|
remote: [hgsql] held lock for * seconds (read 8 rows; write 9 rows) (glob)
|
|
updating bookmark master
|
|
|
|
|
|
$ log
|
|
@ third commit [public:87df66bba286] master
|
|
|
|
|
o first [public:8585ef078134]
|
|
|
|
|
o base [public:4ced94c0a443]
|
|
|
|
$ cd ../server1
|
|
$ log
|
|
[hgsql] skipping database sync because another process is already syncing
|
|
o third commit [public:87df66bba286] master
|
|
|
|
|
o first [public:8585ef078134]
|
|
|
|
|
@ base [public:4ced94c0a443]
|
|
|
|
$ cd ../server2
|
|
$ log
|
|
[hgsql] getting 1 commits from database
|
|
o third commit [draft:87df66bba286] master
|
|
|
|
|
@ first [draft:8585ef078134]
|
|
|
|
|
o base [draft:4ced94c0a443]
|
|
|