Mercurial > hg
annotate tests/test-push-race.t @ 32631:63afbc74a856
test: add a push race case where each client replaces a different head
We check case where the raced push replace one head while the racing push
replaces another unrelated one.
That second test also make sure we synchronise all repositories to the same
state between tests. That will help us when allowing some sort of concurrent
pushes.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 27 May 2017 22:25:20 +0200 |
parents | 53f47cc085d8 |
children | 090a6fe6e563 |
rev | line source |
---|---|
32630
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 ============================================================================================ |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 Test cases where there are race condition between two clients pushing to the same repository |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 ============================================================================================ |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
4 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
5 This file tests cases where two clients push to a server at the same time. The |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
6 "raced" client is done preparing it push bundle when the "racing" client |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
7 perform its push. The "raced" client starts its actual push after the "racing" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
8 client push is fully complete. |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
9 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
10 A set of extension and shell functions ensures this scheduling. |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
11 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
12 $ cat >> delaypush.py << EOF |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
13 > """small extension orchestrate push race |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
14 > |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
15 > Client with the extensions will create a file when ready and get stuck until |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
16 > a file is created.""" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
17 > |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
18 > import atexit |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
19 > import errno |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
20 > import os |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
21 > import time |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
22 > |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
23 > from mercurial import ( |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
24 > exchange, |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
25 > extensions, |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
26 > ) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
27 > |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
28 > def delaypush(orig, pushop): |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
29 > # notify we are done preparing |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
30 > readypath = pushop.repo.ui.config('delaypush', 'ready-path', None) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
31 > if readypath is not None: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
32 > with open(readypath, 'w') as r: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 > r.write('foo') |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 > pushop.repo.ui.status('wrote ready: %s\n' % readypath) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 > # now wait for the other process to be done |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 > watchpath = pushop.repo.ui.config('delaypush', 'release-path', None) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 > if watchpath is not None: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 > pushop.repo.ui.status('waiting on: %s\n' % watchpath) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 > limit = 100 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 > while 0 < limit and not os.path.exists(watchpath): |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 > limit -= 1 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 > time.sleep(0.1) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 > if limit <= 0: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
44 > repo.ui.warn('exiting without watchfile: %s' % watchpath) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
45 > else: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
46 > # delete the file at the end of the push |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
47 > def delete(): |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
48 > try: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
49 > os.unlink(watchpath) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
50 > except OSError as exc: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
51 > if exc.errno != errno.ENOENT: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
52 > raise |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
53 > atexit.register(delete) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
54 > return orig(pushop) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
55 > |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
56 > def uisetup(ui): |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
57 > extensions.wrapfunction(exchange, '_pushbundle2', delaypush) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
58 > EOF |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
59 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
60 $ waiton () { |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 > # wait for a file to be created (then delete it) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 > count=100 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 > while [ ! -f $1 ] ; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 > do |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 > sleep 0.1; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 > count=`expr $count - 1`; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 > if [ $count -lt 0 ]; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 > then |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 > break |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 > fi; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 > done |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 > [ -f $1 ] || echo "ready file still missing: $1" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
73 > rm -f $1 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
74 > } |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
75 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 $ release () { |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 > # create a file and wait for it be deleted |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 > count=100 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
79 > touch $1 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
80 > while [ -f $1 ] ; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
81 > do |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
82 > sleep 0.1; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 > count=`expr $count - 1`; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 > if [ $count -lt 0 ]; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 > then |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
86 > break |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
87 > fi; |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
88 > done |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
89 > [ ! -f $1 ] || echo "delay file still exist: $1" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
90 > } |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
91 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
92 $ cat >> $HGRCPATH << EOF |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
93 > [ui] |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
94 > ssh = python "$TESTDIR/dummyssh" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
95 > # simplify output |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
96 > logtemplate = {node|short} {desc} ({branch}) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
97 > [alias] |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
98 > graph = log -G --rev 'sort(all(), "topo")' |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
99 > EOF |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
100 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
101 Setup |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
102 ----- |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
103 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
104 create a repo with one root |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
105 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
106 $ hg init server |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
107 $ cd server |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
108 $ echo root > root |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
109 $ hg ci -Am "C-ROOT" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
110 adding root |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
111 $ cd .. |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
112 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
113 clone it in two clients |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
114 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
115 $ hg clone ssh://user@dummy/server client-racy |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
116 requesting all changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
117 adding changesets |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
118 adding manifests |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
119 adding file changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
120 added 1 changesets with 1 changes to 1 files |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
121 updating to branch default |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
122 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
123 $ hg clone ssh://user@dummy/server client-other |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
124 requesting all changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
125 adding changesets |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
126 adding manifests |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
127 adding file changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
128 added 1 changesets with 1 changes to 1 files |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
129 updating to branch default |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
130 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
131 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
132 setup one to allow race on push |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
133 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
134 $ cat >> client-racy/.hg/hgrc << EOF |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
135 > [extensions] |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
136 > delaypush = $TESTTMP/delaypush.py |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
137 > [delaypush] |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
138 > ready-path = $TESTTMP/readyfile |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
139 > release-path = $TESTTMP/watchfile |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
140 > EOF |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
141 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
142 Simple race, both try to push to the server at the same time |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
143 ------------------------------------------------------------ |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
144 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
145 Both try to replace the same head |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
146 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
147 # a |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
148 # | b |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
149 # |/ |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
150 # * |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
151 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
152 Creating changesets |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
153 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
154 $ echo b > client-other/a |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
155 $ hg -R client-other/ add client-other/a |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
156 $ hg -R client-other/ commit -m "C-A" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
157 $ echo b > client-racy/b |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
158 $ hg -R client-racy/ add client-racy/b |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
159 $ hg -R client-racy/ commit -m "C-B" |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
160 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
161 Pushing |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
162 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
163 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 & |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
164 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
165 $ waiton $TESTTMP/readyfile |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
166 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
167 $ hg -R client-other push -r 'tip' |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
168 pushing to ssh://user@dummy/server |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
169 searching for changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
170 remote: adding changesets |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
171 remote: adding manifests |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
172 remote: adding file changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
173 remote: added 1 changesets with 1 changes to 1 files |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
174 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
175 $ release $TESTTMP/watchfile |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
176 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
177 Check the result of the push |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
178 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
179 $ cat ./push-log |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
180 pushing to ssh://user@dummy/server |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
181 searching for changes |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
182 wrote ready: $TESTTMP/readyfile |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
183 waiting on: $TESTTMP/watchfile |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
184 abort: push failed: |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
185 'repository changed while pushing - please try again' |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
186 |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
187 $ hg -R server graph |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
188 o 98217d5a1659 C-A (default) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
189 | |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
190 @ 842e2fac6304 C-ROOT (default) |
53f47cc085d8
test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
191 |
32631
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
192 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
193 Pushing on two different heads |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
194 ------------------------------ |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
195 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
196 Both try to replace a different head |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
197 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
198 # a b |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
199 # | | |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
200 # * * |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
201 # |/ |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
202 # * |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
203 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
204 (resync-all) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
205 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
206 $ hg -R ./server pull ./client-racy |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
207 pulling from ./client-racy |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
208 searching for changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
209 adding changesets |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
210 adding manifests |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
211 adding file changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
212 added 1 changesets with 1 changes to 1 files (+1 heads) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
213 (run 'hg heads' to see heads, 'hg merge' to merge) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
214 $ hg -R ./client-other pull |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
215 pulling from ssh://user@dummy/server |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
216 searching for changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
217 adding changesets |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
218 adding manifests |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
219 adding file changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
220 added 1 changesets with 1 changes to 1 files (+1 heads) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
221 (run 'hg heads' to see heads, 'hg merge' to merge) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
222 $ hg -R ./client-racy pull |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
223 pulling from ssh://user@dummy/server |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
224 searching for changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
225 adding changesets |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
226 adding manifests |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
227 adding file changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
228 added 1 changesets with 1 changes to 1 files (+1 heads) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
229 (run 'hg heads' to see heads, 'hg merge' to merge) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
230 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
231 $ hg -R server graph |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
232 o a9149a1428e2 C-B (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
233 | |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
234 | o 98217d5a1659 C-A (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
235 |/ |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
236 @ 842e2fac6304 C-ROOT (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
237 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
238 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
239 Creating changesets |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
240 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
241 $ echo aa >> client-other/a |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
242 $ hg -R client-other/ commit -m "C-C" |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
243 $ echo bb >> client-racy/b |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
244 $ hg -R client-racy/ commit -m "C-D" |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
245 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
246 Pushing |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
247 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
248 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 & |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
249 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
250 $ waiton $TESTTMP/readyfile |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
251 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
252 $ hg -R client-other push -r 'tip' |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
253 pushing to ssh://user@dummy/server |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
254 searching for changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
255 remote: adding changesets |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
256 remote: adding manifests |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
257 remote: adding file changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
258 remote: added 1 changesets with 1 changes to 1 files |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
259 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
260 $ release $TESTTMP/watchfile |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
261 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
262 Check the result of the push |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
263 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
264 $ cat ./push-log |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
265 pushing to ssh://user@dummy/server |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
266 searching for changes |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
267 wrote ready: $TESTTMP/readyfile |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
268 waiting on: $TESTTMP/watchfile |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
269 abort: push failed: |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
270 'repository changed while pushing - please try again' |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
271 |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
272 $ hg -R server graph |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
273 o 51c544a58128 C-C (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
274 | |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
275 o 98217d5a1659 C-A (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
276 | |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
277 | o a9149a1428e2 C-B (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
278 |/ |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
279 @ 842e2fac6304 C-ROOT (default) |
63afbc74a856
test: add a push race case where each client replaces a different head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
32630
diff
changeset
|
280 |