mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
test: add a push race case where racing push touches multiple heads
We check case where the raced push updates a head while the racing push update all of them.
This commit is contained in:
parent
94af527060
commit
2478014ca3
@ -625,3 +625,136 @@ Check the result of the push
|
||||
|/
|
||||
@ 842e2fac6304 C-ROOT (default)
|
||||
|
||||
|
||||
pushing racing push touch multiple heads
|
||||
----------------------------------------
|
||||
|
||||
There are multiple heads, but the racing push touch all of them
|
||||
|
||||
# a (raced)
|
||||
# | b
|
||||
# |/|
|
||||
# * *
|
||||
# |/
|
||||
# *
|
||||
|
||||
(resync-all)
|
||||
|
||||
$ hg -R ./server pull ./client-racy
|
||||
pulling from ./client-racy
|
||||
searching for changes
|
||||
adding changesets
|
||||
adding manifests
|
||||
adding file changes
|
||||
added 1 changesets with 1 changes to 1 files (+1 heads)
|
||||
(run 'hg heads .' to see heads, 'hg merge' to merge)
|
||||
$ hg -R ./client-other pull
|
||||
pulling from ssh://user@dummy/server
|
||||
searching for changes
|
||||
adding changesets
|
||||
adding manifests
|
||||
adding file changes
|
||||
added 1 changesets with 1 changes to 1 files (+1 heads)
|
||||
(run 'hg heads' to see heads)
|
||||
$ hg -R ./client-racy pull
|
||||
pulling from ssh://user@dummy/server
|
||||
searching for changes
|
||||
adding changesets
|
||||
adding manifests
|
||||
adding file changes
|
||||
added 1 changesets with 1 changes to 1 files (+1 heads)
|
||||
(run 'hg heads .' to see heads, 'hg merge' to merge)
|
||||
|
||||
$ hg -R server graph
|
||||
o 89420bf00fae C-J (default)
|
||||
|
|
||||
| o b35ed749f288 C-I (my-second-test-branch)
|
||||
|/
|
||||
o 75d69cba5402 C-G (default)
|
||||
|
|
||||
| o 833be552cfe6 C-H (my-first-test-branch)
|
||||
|/
|
||||
o d9e379a8c432 C-F (default)
|
||||
|
|
||||
o 51c544a58128 C-C (default)
|
||||
|
|
||||
| o d603e2c0cdd7 C-E (default)
|
||||
|/
|
||||
o 98217d5a1659 C-A (default)
|
||||
|
|
||||
| o 59e76faf78bd C-D (default)
|
||||
| |
|
||||
| o a9149a1428e2 C-B (default)
|
||||
|/
|
||||
@ 842e2fac6304 C-ROOT (default)
|
||||
|
||||
|
||||
Creating changesets
|
||||
|
||||
(merges heads)
|
||||
|
||||
$ hg -R client-other/ up 'desc("C-E")'
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
$ hg -R client-other/ merge 'desc("C-D")'
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
(branch merge, don't forget to commit)
|
||||
$ hg -R client-other/ commit -m "C-K"
|
||||
|
||||
(update one head)
|
||||
|
||||
$ hg -R client-racy/ up 'desc("C-D")'
|
||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
||||
$ echo bbb >> client-racy/b
|
||||
$ hg -R client-racy/ commit -m "C-L"
|
||||
|
||||
Pushing
|
||||
|
||||
$ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
|
||||
|
||||
$ waiton $TESTTMP/readyfile
|
||||
|
||||
$ hg -R client-other push -fr 'tip' --new-branch
|
||||
pushing to ssh://user@dummy/server
|
||||
searching for changes
|
||||
remote: adding changesets
|
||||
remote: adding manifests
|
||||
remote: adding file changes
|
||||
remote: added 1 changesets with 0 changes to 0 files (-1 heads)
|
||||
|
||||
$ release $TESTTMP/watchfile
|
||||
|
||||
Check the result of the push
|
||||
|
||||
$ cat ./push-log
|
||||
pushing to ssh://user@dummy/server
|
||||
searching for changes
|
||||
wrote ready: $TESTTMP/readyfile
|
||||
waiting on: $TESTTMP/watchfile
|
||||
abort: push failed:
|
||||
'repository changed while pushing - please try again'
|
||||
|
||||
$ hg -R server graph
|
||||
o be705100c623 C-K (default)
|
||||
|\
|
||||
| o d603e2c0cdd7 C-E (default)
|
||||
| |
|
||||
o | 59e76faf78bd C-D (default)
|
||||
| |
|
||||
| | o 89420bf00fae C-J (default)
|
||||
| | |
|
||||
| | | o b35ed749f288 C-I (my-second-test-branch)
|
||||
| | |/
|
||||
| | o 75d69cba5402 C-G (default)
|
||||
| | |
|
||||
| | | o 833be552cfe6 C-H (my-first-test-branch)
|
||||
| | |/
|
||||
| | o d9e379a8c432 C-F (default)
|
||||
| | |
|
||||
| | o 51c544a58128 C-C (default)
|
||||
| |/
|
||||
o | a9149a1428e2 C-B (default)
|
||||
| |
|
||||
| o 98217d5a1659 C-A (default)
|
||||
|/
|
||||
@ 842e2fac6304 C-ROOT (default)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user