annotate tests/test-push-race.t @ 32670:41b8cfe85383

test: add a push race case where the updated head is obsoleted This is the mirror of the previously added case. We check the case where the racing-push obsoletes a head while the raced-push updates that same head.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 29 May 2017 05:53:51 +0200
parents 6ac367b6ae8a
children 16ada4cbb1a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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})
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
97 > [phases]
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
98 > publish = no
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
99 > [experimental]
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
100 > evolution = all
32630
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
101 > [alias]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
102 > 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
103 > EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
104
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
105 Setup
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
106 -----
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
107
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
108 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
109
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
110 $ 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
111 $ cd server
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
112 $ 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
113 $ 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
114 adding root
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
115 $ cd ..
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
116
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
117 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
118
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
119 $ 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
120 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
121 adding changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
122 adding manifests
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
123 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
124 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
125 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
126 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
127 $ 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
128 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
129 adding changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
130 adding manifests
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
131 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
132 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
133 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
134 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
135
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
136 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
137
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
138 $ 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
139 > [extensions]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
140 > 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
141 > [delaypush]
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
142 > 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
143 > 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
144 > EOF
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
145
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
146 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
147 ------------------------------------------------------------
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
148
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
149 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
150
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
151 # a
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
152 # | b
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 # *
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
155
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
156 Creating changesets
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
157
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
158 $ 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
159 $ 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
160 $ 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
161 $ 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
162 $ 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
163 $ 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
164
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
165 Pushing
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-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
168
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
169 $ 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
170
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
171 $ 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
172 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
173 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
174 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
175 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
176 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
177 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
178
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
179 $ 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
180
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
181 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
182
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
183 $ 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
184 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
185 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
186 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
187 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
188 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
189 '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
190
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
191 $ 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
192 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
193 |
53f47cc085d8 test: add a file dedicated to push race between clients
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
194 @ 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
195
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
196
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 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
198 ------------------------------
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 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
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 # 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
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 # * *
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 # *
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
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 (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
209
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 $ 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
211 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
212 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
213 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
214 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
215 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
216 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
217 (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
218 $ 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
219 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
220 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
221 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
222 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
223 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
224 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
225 (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
226 $ 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
227 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
228 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
229 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
230 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
231 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
232 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
233 (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
234
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 $ 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
236 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
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 | 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
239 |/
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 @ 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
241
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
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 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
244
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 $ 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
246 $ 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
247 $ 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
248 $ 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
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 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
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-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
253
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 $ 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
255
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 $ 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
257 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
258 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
259 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
260 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
261 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
262 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
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 $ 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
265
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 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
267
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 $ 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
269 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
270 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
271 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
272 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
273 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
274 '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
275
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 $ 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
277 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
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 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
280 |
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
281 | 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
282 |/
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
283 @ 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
284
32632
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
285 Pushing while someone creates a new head
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
286 -----------------------------------------
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
287
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
288 Pushing a new changeset while someone creates a new branch.
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
289
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
290 # a (raced)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
291 # |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
292 # * b
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
293 # |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
294 # *
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
295
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
296 (resync-all)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
297
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
298 $ hg -R ./server pull ./client-racy
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
299 pulling from ./client-racy
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
300 searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
301 adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
302 adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
303 adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
304 added 1 changesets with 1 changes to 1 files
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
305 (run 'hg update' to get a working copy)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
306 $ hg -R ./client-other pull
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
307 pulling from ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
308 searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
309 adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
310 adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
311 adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
312 added 1 changesets with 1 changes to 1 files
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
313 (run 'hg update' to get a working copy)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
314 $ hg -R ./client-racy pull
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
315 pulling from ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
316 searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
317 adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
318 adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
319 adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
320 added 1 changesets with 1 changes to 1 files
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
321 (run 'hg update' to get a working copy)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
322
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
323 $ hg -R server graph
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
324 o 59e76faf78bd C-D (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
325 |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
326 o a9149a1428e2 C-B (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
327 |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
328 | o 51c544a58128 C-C (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
329 | |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
330 | o 98217d5a1659 C-A (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
331 |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
332 @ 842e2fac6304 C-ROOT (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
333
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
334
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
335 Creating changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
336
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
337 (new head)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
338
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
339 $ hg -R client-other/ up 'desc("C-A")'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
340 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
341 $ echo aaa >> client-other/a
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
342 $ hg -R client-other/ commit -m "C-E"
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
343 created new head
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
344
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
345 (children of existing head)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
346
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
347 $ hg -R client-racy/ up 'desc("C-C")'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
348 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
349 $ echo bbb >> client-racy/a
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
350 $ hg -R client-racy/ commit -m "C-F"
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
351
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
352 Pushing
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
353
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
354 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
355
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
356 $ waiton $TESTTMP/readyfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
357
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
358 $ hg -R client-other push -fr 'tip'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
359 pushing to ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
360 searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
361 remote: adding changesets
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
362 remote: adding manifests
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
363 remote: adding file changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
364 remote: added 1 changesets with 1 changes to 1 files (+1 heads)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
365
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
366 $ release $TESTTMP/watchfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
367
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
368 Check the result of the push
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
369
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
370 $ cat ./push-log
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
371 pushing to ssh://user@dummy/server
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
372 searching for changes
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
373 wrote ready: $TESTTMP/readyfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
374 waiting on: $TESTTMP/watchfile
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
375 abort: push failed:
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
376 'repository changed while pushing - please try again'
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
377
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
378 $ hg -R server graph
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
379 o d603e2c0cdd7 C-E (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
380 |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
381 | o 51c544a58128 C-C (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
382 |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
383 o 98217d5a1659 C-A (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
384 |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
385 | o 59e76faf78bd C-D (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
386 | |
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
387 | o a9149a1428e2 C-B (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
388 |/
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
389 @ 842e2fac6304 C-ROOT (default)
090a6fe6e563 test: add a push race case where the racing client create a new head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32631
diff changeset
390
32633
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
391
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
392 Pushing touching different named branch (same topo): new branch raced
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
393 ---------------------------------------------------------------------
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
394
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
395 Pushing two children on the same head, one is a different named branch
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
396
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
397 # a (raced, branch-a)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
398 # |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
399 # | b (default branch)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
400 # |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
401 # *
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
402
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
403 (resync-all)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
404
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
405 $ hg -R ./server pull ./client-racy
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
406 pulling from ./client-racy
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
407 searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
408 adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
409 adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
410 adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
411 added 1 changesets with 1 changes to 1 files
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
412 (run 'hg update' to get a working copy)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
413 $ hg -R ./client-other pull
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
414 pulling from ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
415 searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
416 adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
417 adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
418 adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
419 added 1 changesets with 1 changes to 1 files
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
420 (run 'hg update' to get a working copy)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
421 $ hg -R ./client-racy pull
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
422 pulling from ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
423 searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
424 adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
425 adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
426 adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
427 added 1 changesets with 1 changes to 1 files (+1 heads)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
428 (run 'hg heads .' to see heads, 'hg merge' to merge)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
429
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
430 $ hg -R server graph
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
431 o d9e379a8c432 C-F (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
432 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
433 o 51c544a58128 C-C (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
434 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
435 | o d603e2c0cdd7 C-E (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
436 |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
437 o 98217d5a1659 C-A (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
438 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
439 | o 59e76faf78bd C-D (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
440 | |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
441 | o a9149a1428e2 C-B (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
442 |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
443 @ 842e2fac6304 C-ROOT (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
444
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
445
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
446 Creating changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
447
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
448 (update existing head)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
449
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
450 $ hg -R client-other/ up 'desc("C-F")'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
451 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
452 $ echo aaa >> client-other/a
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
453 $ hg -R client-other/ commit -m "C-G"
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
454
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
455 (new named branch from that existing head)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
456
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
457 $ hg -R client-racy/ up 'desc("C-F")'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
458 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
459 $ echo bbb >> client-racy/a
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
460 $ hg -R client-racy/ branch my-first-test-branch
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
461 marked working directory as branch my-first-test-branch
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
462 (branches are permanent and global, did you want a bookmark?)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
463 $ hg -R client-racy/ commit -m "C-H"
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
464
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
465 Pushing
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
466
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
467 $ hg -R client-racy push -r 'tip' --new-branch > ./push-log 2>&1 &
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
468
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
469 $ waiton $TESTTMP/readyfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
470
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
471 $ hg -R client-other push -fr 'tip'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
472 pushing to ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
473 searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
474 remote: adding changesets
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
475 remote: adding manifests
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
476 remote: adding file changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
477 remote: added 1 changesets with 1 changes to 1 files
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
478
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
479 $ release $TESTTMP/watchfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
480
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
481 Check the result of the push
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
482
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
483 $ cat ./push-log
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
484 pushing to ssh://user@dummy/server
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
485 searching for changes
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
486 wrote ready: $TESTTMP/readyfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
487 waiting on: $TESTTMP/watchfile
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
488 abort: push failed:
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
489 'repository changed while pushing - please try again'
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
490
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
491 $ hg -R server graph
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
492 o 75d69cba5402 C-G (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
493 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
494 o d9e379a8c432 C-F (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
495 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
496 o 51c544a58128 C-C (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
497 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
498 | o d603e2c0cdd7 C-E (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
499 |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
500 o 98217d5a1659 C-A (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
501 |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
502 | o 59e76faf78bd C-D (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
503 | |
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
504 | o a9149a1428e2 C-B (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
505 |/
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
506 @ 842e2fac6304 C-ROOT (default)
b01bfa5abbfe test: add a push race case where raced push created a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32632
diff changeset
507
32634
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
508
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
509 pushing touching different named branch (same topo): old branch raced
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
510 ---------------------------------------------------------------------
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
511
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
512 Pushing two children on the same head, one is a different named branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
513
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
514 # a (raced, default-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
515 # |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
516 # | b (new branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
517 # |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
518 # * (default-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
519
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
520 (resync-all)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
521
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
522 $ hg -R ./server pull ./client-racy
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
523 pulling from ./client-racy
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
524 searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
525 adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
526 adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
527 adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
528 added 1 changesets with 1 changes to 1 files (+1 heads)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
529 (run 'hg heads .' to see heads, 'hg merge' to merge)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
530 $ hg -R ./client-other pull
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
531 pulling from ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
532 searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
533 adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
534 adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
535 adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
536 added 1 changesets with 1 changes to 1 files (+1 heads)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
537 (run 'hg heads .' to see heads, 'hg merge' to merge)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
538 $ hg -R ./client-racy pull
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
539 pulling from ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
540 searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
541 adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
542 adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
543 adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
544 added 1 changesets with 1 changes to 1 files (+1 heads)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
545 (run 'hg heads' to see heads)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
546
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
547 $ hg -R server graph
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
548 o 833be552cfe6 C-H (my-first-test-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
549 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
550 | o 75d69cba5402 C-G (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
551 |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
552 o d9e379a8c432 C-F (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
553 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
554 o 51c544a58128 C-C (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
555 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
556 | o d603e2c0cdd7 C-E (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
557 |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
558 o 98217d5a1659 C-A (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
559 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
560 | o 59e76faf78bd C-D (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
561 | |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
562 | o a9149a1428e2 C-B (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
563 |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
564 @ 842e2fac6304 C-ROOT (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
565
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
566
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
567 Creating changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
568
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
569 (new named branch from one head)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
570
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
571 $ hg -R client-other/ up 'desc("C-G")'
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
572 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
573 $ echo aaa >> client-other/a
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
574 $ hg -R client-other/ branch my-second-test-branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
575 marked working directory as branch my-second-test-branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
576 $ hg -R client-other/ commit -m "C-I"
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
577
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
578 (children "updating" that same head)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
579
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
580 $ hg -R client-racy/ up 'desc("C-G")'
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
581 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
582 $ echo bbb >> client-racy/a
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
583 $ hg -R client-racy/ commit -m "C-J"
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
584
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
585 Pushing
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
586
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
587 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
588
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
589 $ waiton $TESTTMP/readyfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
590
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
591 $ hg -R client-other push -fr 'tip' --new-branch
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
592 pushing to ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
593 searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
594 remote: adding changesets
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
595 remote: adding manifests
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
596 remote: adding file changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
597 remote: added 1 changesets with 1 changes to 1 files
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
598
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
599 $ release $TESTTMP/watchfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
600
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
601 Check the result of the push
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
602
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
603 $ cat ./push-log
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
604 pushing to ssh://user@dummy/server
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
605 searching for changes
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
606 wrote ready: $TESTTMP/readyfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
607 waiting on: $TESTTMP/watchfile
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
608 abort: push failed:
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
609 'repository changed while pushing - please try again'
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
610
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
611 $ hg -R server graph
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
612 o b35ed749f288 C-I (my-second-test-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
613 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
614 o 75d69cba5402 C-G (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
615 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
616 | o 833be552cfe6 C-H (my-first-test-branch)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
617 |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
618 o d9e379a8c432 C-F (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
619 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
620 o 51c544a58128 C-C (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
621 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
622 | o d603e2c0cdd7 C-E (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
623 |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
624 o 98217d5a1659 C-A (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
625 |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
626 | o 59e76faf78bd C-D (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
627 | |
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
628 | o a9149a1428e2 C-B (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
629 |/
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
630 @ 842e2fac6304 C-ROOT (default)
8d10e21e3b57 test: add a push race case where racing push create a new named branch
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32633
diff changeset
631
32635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
632
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
633 pushing racing push touch multiple heads
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
634 ----------------------------------------
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
635
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
636 There are multiple heads, but the racing push touch all of them
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
637
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
638 # a (raced)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
639 # | b
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
640 # |/|
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
641 # * *
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
642 # |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
643 # *
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
644
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
645 (resync-all)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
646
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
647 $ hg -R ./server pull ./client-racy
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
648 pulling from ./client-racy
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
649 searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
650 adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
651 adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
652 adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
653 added 1 changesets with 1 changes to 1 files (+1 heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
654 (run 'hg heads .' to see heads, 'hg merge' to merge)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
655 $ hg -R ./client-other pull
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
656 pulling from ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
657 searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
658 adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
659 adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
660 adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
661 added 1 changesets with 1 changes to 1 files (+1 heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
662 (run 'hg heads' to see heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
663 $ hg -R ./client-racy pull
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
664 pulling from ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
665 searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
666 adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
667 adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
668 adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
669 added 1 changesets with 1 changes to 1 files (+1 heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
670 (run 'hg heads .' to see heads, 'hg merge' to merge)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
671
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
672 $ hg -R server graph
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
673 o 89420bf00fae C-J (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
674 |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
675 | o b35ed749f288 C-I (my-second-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
676 |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
677 o 75d69cba5402 C-G (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
678 |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
679 | o 833be552cfe6 C-H (my-first-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
680 |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
681 o d9e379a8c432 C-F (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
682 |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
683 o 51c544a58128 C-C (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
684 |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
685 | o d603e2c0cdd7 C-E (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
686 |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
687 o 98217d5a1659 C-A (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
688 |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
689 | o 59e76faf78bd C-D (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
690 | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
691 | o a9149a1428e2 C-B (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
692 |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
693 @ 842e2fac6304 C-ROOT (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
694
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
695
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
696 Creating changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
697
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
698 (merges heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
699
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
700 $ hg -R client-other/ up 'desc("C-E")'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
701 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
702 $ hg -R client-other/ merge 'desc("C-D")'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
703 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
704 (branch merge, don't forget to commit)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
705 $ hg -R client-other/ commit -m "C-K"
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
706
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
707 (update one head)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
708
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
709 $ hg -R client-racy/ up 'desc("C-D")'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
710 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
711 $ echo bbb >> client-racy/b
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
712 $ hg -R client-racy/ commit -m "C-L"
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
713
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
714 Pushing
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
715
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
716 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
717
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
718 $ waiton $TESTTMP/readyfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
719
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
720 $ hg -R client-other push -fr 'tip' --new-branch
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
721 pushing to ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
722 searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
723 remote: adding changesets
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
724 remote: adding manifests
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
725 remote: adding file changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
726 remote: added 1 changesets with 0 changes to 0 files (-1 heads)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
727
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
728 $ release $TESTTMP/watchfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
729
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
730 Check the result of the push
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
731
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
732 $ cat ./push-log
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
733 pushing to ssh://user@dummy/server
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
734 searching for changes
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
735 wrote ready: $TESTTMP/readyfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
736 waiting on: $TESTTMP/watchfile
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
737 abort: push failed:
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
738 'repository changed while pushing - please try again'
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
739
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
740 $ hg -R server graph
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
741 o be705100c623 C-K (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
742 |\
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
743 | o d603e2c0cdd7 C-E (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
744 | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
745 o | 59e76faf78bd C-D (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
746 | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
747 | | o 89420bf00fae C-J (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
748 | | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
749 | | | o b35ed749f288 C-I (my-second-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
750 | | |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
751 | | o 75d69cba5402 C-G (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
752 | | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
753 | | | o 833be552cfe6 C-H (my-first-test-branch)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
754 | | |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
755 | | o d9e379a8c432 C-F (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
756 | | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
757 | | o 51c544a58128 C-C (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
758 | |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
759 o | a9149a1428e2 C-B (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
760 | |
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
761 | o 98217d5a1659 C-A (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
762 |/
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
763 @ 842e2fac6304 C-ROOT (default)
32c80d07952b test: add a push race case where racing push touches multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32634
diff changeset
764
32636
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
765
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
766 pushing raced push touch multiple heads
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
767 ---------------------------------------
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
768
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
769 There are multiple heads, the raced push touch all of them
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
770
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
771 # b
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
772 # | a (raced)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
773 # |/|
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
774 # * *
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
775 # |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
776 # *
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
777
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
778 (resync-all)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
779
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
780 $ hg -R ./server pull ./client-racy
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
781 pulling from ./client-racy
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
782 searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
783 adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
784 adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
785 adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
786 added 1 changesets with 1 changes to 1 files (+1 heads)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
787 (run 'hg heads .' to see heads, 'hg merge' to merge)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
788 $ hg -R ./client-other pull
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
789 pulling from ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
790 searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
791 adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
792 adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
793 adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
794 added 1 changesets with 1 changes to 1 files (+1 heads)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
795 (run 'hg heads .' to see heads, 'hg merge' to merge)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
796 $ hg -R ./client-racy pull
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
797 pulling from ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
798 searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
799 adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
800 adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
801 adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
802 added 1 changesets with 0 changes to 0 files
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
803 (run 'hg update' to get a working copy)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
804
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
805 $ hg -R server graph
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
806 o cac2cead0ff0 C-L (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
807 |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
808 | o be705100c623 C-K (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
809 |/|
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
810 | o d603e2c0cdd7 C-E (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
811 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
812 o | 59e76faf78bd C-D (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
813 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
814 | | o 89420bf00fae C-J (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
815 | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
816 | | | o b35ed749f288 C-I (my-second-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
817 | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
818 | | o 75d69cba5402 C-G (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
819 | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
820 | | | o 833be552cfe6 C-H (my-first-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
821 | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
822 | | o d9e379a8c432 C-F (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
823 | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
824 | | o 51c544a58128 C-C (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
825 | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
826 o | a9149a1428e2 C-B (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
827 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
828 | o 98217d5a1659 C-A (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
829 |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
830 @ 842e2fac6304 C-ROOT (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
831
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
832
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
833 Creating changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
834
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
835 (update existing head)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
836
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
837 $ echo aaa >> client-other/a
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
838 $ hg -R client-other/ commit -m "C-M"
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
839
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
840 (merge heads)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
841
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
842 $ hg -R client-racy/ merge 'desc("C-K")'
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
843 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
844 (branch merge, don't forget to commit)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
845 $ hg -R client-racy/ commit -m "C-N"
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
846
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
847 Pushing
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
848
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
849 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
850
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
851 $ waiton $TESTTMP/readyfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
852
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
853 $ hg -R client-other push -fr 'tip' --new-branch
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
854 pushing to ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
855 searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
856 remote: adding changesets
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
857 remote: adding manifests
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
858 remote: adding file changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
859 remote: added 1 changesets with 1 changes to 1 files
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
860
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
861 $ release $TESTTMP/watchfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
862
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
863 Check the result of the push
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
864
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
865 $ cat ./push-log
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
866 pushing to ssh://user@dummy/server
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
867 searching for changes
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
868 wrote ready: $TESTTMP/readyfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
869 waiting on: $TESTTMP/watchfile
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
870 abort: push failed:
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
871 'repository changed while pushing - please try again'
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
872
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
873 $ hg -R server graph
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
874 o 6fd3090135df C-M (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
875 |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
876 o be705100c623 C-K (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
877 |\
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
878 | o d603e2c0cdd7 C-E (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
879 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
880 +---o cac2cead0ff0 C-L (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
881 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
882 o | 59e76faf78bd C-D (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
883 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
884 | | o 89420bf00fae C-J (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
885 | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
886 | | | o b35ed749f288 C-I (my-second-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
887 | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
888 | | o 75d69cba5402 C-G (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
889 | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
890 | | | o 833be552cfe6 C-H (my-first-test-branch)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
891 | | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
892 | | o d9e379a8c432 C-F (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
893 | | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
894 | | o 51c544a58128 C-C (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
895 | |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
896 o | a9149a1428e2 C-B (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
897 | |
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
898 | o 98217d5a1659 C-A (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
899 |/
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
900 @ 842e2fac6304 C-ROOT (default)
da5cf8cc5aad test: add a push race case where the raced push touch multiple heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32635
diff changeset
901
32637
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
902
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
903 racing commit push a new head behind another named branch
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
904 ---------------------------------------------------------
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
905
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
906 non-continuous branch are valid case, we tests for them.
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
907
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
908 # b (branch default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
909 # |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
910 # o (branch foo)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
911 # |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
912 # | a (raced, branch default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
913 # |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
914 # * (branch foo)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
915 # |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
916 # * (branch default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
917
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
918 (resync-all + other branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
919
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
920 $ hg -R ./server pull ./client-racy
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
921 pulling from ./client-racy
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
922 searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
923 adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
924 adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
925 adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
926 added 1 changesets with 0 changes to 0 files
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
927 (run 'hg update' to get a working copy)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
928
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
929 (creates named branch on head)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
930
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
931 $ hg -R ./server/ up 'desc("C-N")'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
932 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
933 $ hg -R ./server/ branch other
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
934 marked working directory as branch other
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
935 $ hg -R ./server/ ci -m "C-Z"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
936 $ hg -R ./server/ up null
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
937 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
938
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
939 (sync client)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
940
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
941 $ hg -R ./client-other pull
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
942 pulling from ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
943 searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
944 adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
945 adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
946 adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
947 added 2 changesets with 0 changes to 0 files
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
948 (run 'hg update' to get a working copy)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
949 $ hg -R ./client-racy pull
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
950 pulling from ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
951 searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
952 adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
953 adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
954 adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
955 added 2 changesets with 1 changes to 1 files (+1 heads)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
956 (run 'hg heads .' to see heads, 'hg merge' to merge)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
957
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
958 $ hg -R server graph
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
959 o 55a6f1c01b48 C-Z (other)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
960 |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
961 o 866a66e18630 C-N (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
962 |\
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
963 +---o 6fd3090135df C-M (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
964 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
965 | o cac2cead0ff0 C-L (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
966 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
967 o | be705100c623 C-K (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
968 |\|
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
969 o | d603e2c0cdd7 C-E (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
970 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
971 | o 59e76faf78bd C-D (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
972 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
973 | | o 89420bf00fae C-J (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
974 | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
975 | | | o b35ed749f288 C-I (my-second-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
976 | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
977 | | o 75d69cba5402 C-G (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
978 | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
979 | | | o 833be552cfe6 C-H (my-first-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
980 | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
981 | | o d9e379a8c432 C-F (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
982 | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
983 +---o 51c544a58128 C-C (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
984 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
985 | o a9149a1428e2 C-B (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
986 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
987 o | 98217d5a1659 C-A (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
988 |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
989 o 842e2fac6304 C-ROOT (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
990
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
991
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
992 Creating changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
993
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
994 (update default head through another named branch one)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
995
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
996 $ hg -R client-other/ up 'desc("C-Z")'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
997 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
998 $ echo aaa >> client-other/a
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
999 $ hg -R client-other/ commit -m "C-O"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1000 $ echo aaa >> client-other/a
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1001 $ hg -R client-other/ branch --force default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1002 marked working directory as branch default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1003 $ hg -R client-other/ commit -m "C-P"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1004 created new head
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1005
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1006 (update default head)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1007
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1008 $ hg -R client-racy/ up 'desc("C-Z")'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1009 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1010 $ echo bbb >> client-other/a
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1011 $ hg -R client-racy/ branch --force default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1012 marked working directory as branch default
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1013 $ hg -R client-racy/ commit -m "C-Q"
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1014 created new head
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1015
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1016 Pushing
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1017
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1018 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1019
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1020 $ waiton $TESTTMP/readyfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1021
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1022 $ hg -R client-other push -fr 'tip' --new-branch
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1023 pushing to ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1024 searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1025 remote: adding changesets
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1026 remote: adding manifests
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1027 remote: adding file changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1028 remote: added 2 changesets with 1 changes to 1 files
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1029
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1030 $ release $TESTTMP/watchfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1031
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1032 Check the result of the push
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1033
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1034 $ cat ./push-log
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1035 pushing to ssh://user@dummy/server
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1036 searching for changes
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1037 wrote ready: $TESTTMP/readyfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1038 waiting on: $TESTTMP/watchfile
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1039 abort: push failed:
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1040 'repository changed while pushing - please try again'
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1041
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1042 $ hg -R server graph
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1043 o 1b58ee3f79e5 C-P (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1044 |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1045 o d0a85b2252a9 C-O (other)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1046 |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1047 o 55a6f1c01b48 C-Z (other)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1048 |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1049 o 866a66e18630 C-N (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1050 |\
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1051 +---o 6fd3090135df C-M (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1052 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1053 | o cac2cead0ff0 C-L (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1054 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1055 o | be705100c623 C-K (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1056 |\|
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1057 o | d603e2c0cdd7 C-E (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1058 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1059 | o 59e76faf78bd C-D (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1060 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1061 | | o 89420bf00fae C-J (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1062 | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1063 | | | o b35ed749f288 C-I (my-second-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1064 | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1065 | | o 75d69cba5402 C-G (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1066 | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1067 | | | o 833be552cfe6 C-H (my-first-test-branch)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1068 | | |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1069 | | o d9e379a8c432 C-F (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1070 | | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1071 +---o 51c544a58128 C-C (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1072 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1073 | o a9149a1428e2 C-B (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1074 | |
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1075 o | 98217d5a1659 C-A (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1076 |/
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1077 o 842e2fac6304 C-ROOT (default)
9234d2cb24a5 test: add a push race case where non-contiguous branch head are created
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32636
diff changeset
1078
32638
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1079
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1080 raced commit push a new head behind another named branch
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1081 ---------------------------------------------------------
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1082
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1083 non-continuous branch are valid case, we tests for them.
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1084
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1085 # b (raced branch default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1086 # |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1087 # o (branch foo)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1088 # |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1089 # | a (branch default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1090 # |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1091 # * (branch foo)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1092 # |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1093 # * (branch default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1094
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1095 (resync-all)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1096
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1097 $ hg -R ./server pull ./client-racy
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1098 pulling from ./client-racy
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1099 searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1100 adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1101 adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1102 adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1103 added 1 changesets with 0 changes to 0 files (+1 heads)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1104 (run 'hg heads .' to see heads, 'hg merge' to merge)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1105 $ hg -R ./client-other pull
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1106 pulling from ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1107 searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1108 adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1109 adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1110 adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1111 added 1 changesets with 0 changes to 0 files (+1 heads)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1112 (run 'hg heads .' to see heads, 'hg merge' to merge)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1113 $ hg -R ./client-racy pull
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1114 pulling from ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1115 searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1116 adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1117 adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1118 adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1119 added 2 changesets with 1 changes to 1 files (+1 heads)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1120 (run 'hg heads .' to see heads, 'hg merge' to merge)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1121
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1122 $ hg -R server graph
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1123 o b0ee3d6f51bc C-Q (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1124 |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1125 | o 1b58ee3f79e5 C-P (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1126 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1127 | o d0a85b2252a9 C-O (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1128 |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1129 o 55a6f1c01b48 C-Z (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1130 |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1131 o 866a66e18630 C-N (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1132 |\
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1133 +---o 6fd3090135df C-M (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1134 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1135 | o cac2cead0ff0 C-L (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1136 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1137 o | be705100c623 C-K (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1138 |\|
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1139 o | d603e2c0cdd7 C-E (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1140 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1141 | o 59e76faf78bd C-D (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1142 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1143 | | o 89420bf00fae C-J (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1144 | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1145 | | | o b35ed749f288 C-I (my-second-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1146 | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1147 | | o 75d69cba5402 C-G (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1148 | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1149 | | | o 833be552cfe6 C-H (my-first-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1150 | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1151 | | o d9e379a8c432 C-F (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1152 | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1153 +---o 51c544a58128 C-C (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1154 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1155 | o a9149a1428e2 C-B (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1156 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1157 o | 98217d5a1659 C-A (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1158 |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1159 o 842e2fac6304 C-ROOT (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1160
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1161
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1162 Creating changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1163
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1164 (update 'other' named branch head)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1165
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1166 $ hg -R client-other/ up 'desc("C-P")'
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1167 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1168 $ echo aaa >> client-other/a
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1169 $ hg -R client-other/ branch --force other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1170 marked working directory as branch other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1171 $ hg -R client-other/ commit -m "C-R"
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1172 created new head
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1173
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1174 (update 'other named brnach through a 'default' changeset')
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1175
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1176 $ hg -R client-racy/ up 'desc("C-P")'
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1177 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1178 $ echo bbb >> client-racy/a
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1179 $ hg -R client-racy/ commit -m "C-S"
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1180 $ echo bbb >> client-racy/a
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1181 $ hg -R client-racy/ branch --force other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1182 marked working directory as branch other
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1183 $ hg -R client-racy/ commit -m "C-T"
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1184 created new head
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1185
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1186 Pushing
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1187
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1188 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1189
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1190 $ waiton $TESTTMP/readyfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1191
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1192 $ hg -R client-other push -fr 'tip' --new-branch
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1193 pushing to ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1194 searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1195 remote: adding changesets
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1196 remote: adding manifests
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1197 remote: adding file changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1198 remote: added 1 changesets with 1 changes to 1 files
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1199
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1200 $ release $TESTTMP/watchfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1201
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1202 Check the result of the push
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1203
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1204 $ cat ./push-log
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1205 pushing to ssh://user@dummy/server
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1206 searching for changes
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1207 wrote ready: $TESTTMP/readyfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1208 waiting on: $TESTTMP/watchfile
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1209 abort: push failed:
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1210 'repository changed while pushing - please try again'
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1211
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1212 $ hg -R server graph
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1213 o de7b9e2ba3f6 C-R (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1214 |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1215 o 1b58ee3f79e5 C-P (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1216 |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1217 o d0a85b2252a9 C-O (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1218 |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1219 | o b0ee3d6f51bc C-Q (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1220 |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1221 o 55a6f1c01b48 C-Z (other)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1222 |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1223 o 866a66e18630 C-N (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1224 |\
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1225 +---o 6fd3090135df C-M (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1226 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1227 | o cac2cead0ff0 C-L (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1228 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1229 o | be705100c623 C-K (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1230 |\|
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1231 o | d603e2c0cdd7 C-E (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1232 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1233 | o 59e76faf78bd C-D (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1234 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1235 | | o 89420bf00fae C-J (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1236 | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1237 | | | o b35ed749f288 C-I (my-second-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1238 | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1239 | | o 75d69cba5402 C-G (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1240 | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1241 | | | o 833be552cfe6 C-H (my-first-test-branch)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1242 | | |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1243 | | o d9e379a8c432 C-F (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1244 | | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1245 +---o 51c544a58128 C-C (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1246 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1247 | o a9149a1428e2 C-B (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1248 | |
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1249 o | 98217d5a1659 C-A (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1250 |/
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1251 o 842e2fac6304 C-ROOT (default)
4f6645ec6bb2 test: add the mirror push race case for non-contiguous branch head
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32637
diff changeset
1252
32669
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1253
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1254 raced commit push a new head obsoleting the one touched by the racing push
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1255 --------------------------------------------------------------------------
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1256
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1257 # b (racing)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1258 # |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1259 # ø⇠◔ a (raced)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1260 # |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1261 # *
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1262
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1263 (resync-all)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1264
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1265 $ hg -R ./server pull ./client-racy
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1266 pulling from ./client-racy
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1267 searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1268 adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1269 adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1270 adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1271 added 2 changesets with 2 changes to 1 files (+1 heads)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1272 (run 'hg heads .' to see heads, 'hg merge' to merge)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1273 $ hg -R ./client-other pull
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1274 pulling from ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1275 searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1276 adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1277 adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1278 adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1279 added 2 changesets with 2 changes to 1 files (+1 heads)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1280 (run 'hg heads' to see heads, 'hg merge' to merge)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1281 $ hg -R ./client-racy pull
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1282 pulling from ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1283 searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1284 adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1285 adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1286 adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1287 added 1 changesets with 1 changes to 1 files (+1 heads)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1288 (run 'hg heads' to see heads, 'hg merge' to merge)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1289
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1290 $ hg -R server graph
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1291 o 3d57ed3c1091 C-T (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1292 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1293 o 2efd43f7b5ba C-S (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1294 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1295 | o de7b9e2ba3f6 C-R (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1296 |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1297 o 1b58ee3f79e5 C-P (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1298 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1299 o d0a85b2252a9 C-O (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1300 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1301 | o b0ee3d6f51bc C-Q (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1302 |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1303 o 55a6f1c01b48 C-Z (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1304 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1305 o 866a66e18630 C-N (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1306 |\
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1307 +---o 6fd3090135df C-M (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1308 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1309 | o cac2cead0ff0 C-L (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1310 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1311 o | be705100c623 C-K (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1312 |\|
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1313 o | d603e2c0cdd7 C-E (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1314 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1315 | o 59e76faf78bd C-D (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1316 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1317 | | o 89420bf00fae C-J (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1318 | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1319 | | | o b35ed749f288 C-I (my-second-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1320 | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1321 | | o 75d69cba5402 C-G (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1322 | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1323 | | | o 833be552cfe6 C-H (my-first-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1324 | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1325 | | o d9e379a8c432 C-F (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1326 | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1327 +---o 51c544a58128 C-C (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1328 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1329 | o a9149a1428e2 C-B (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1330 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1331 o | 98217d5a1659 C-A (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1332 |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1333 o 842e2fac6304 C-ROOT (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1334
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1335
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1336 Creating changesets and markers
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1337
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1338 (continue existing head)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1339
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1340 $ hg -R client-other/ up 'desc("C-Q")'
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1341 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1342 $ echo aaa >> client-other/a
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1343 $ hg -R client-other/ commit -m "C-U"
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1344
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1345 (new topo branch obsoleting that same head)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1346
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1347 $ hg -R client-racy/ up 'desc("C-Z")'
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1348 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1349 $ echo bbb >> client-racy/a
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1350 $ hg -R client-racy/ branch --force default
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1351 marked working directory as branch default
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1352 $ hg -R client-racy/ commit -m "C-V"
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1353 created new head
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1354 $ ID_Q=`hg -R client-racy log -T '{node}\n' -r 'desc("C-Q")'`
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1355 $ ID_V=`hg -R client-racy log -T '{node}\n' -r 'desc("C-V")'`
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1356 $ hg -R client-racy debugobsolete $ID_Q $ID_V
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1357
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1358 Pushing
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1359
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1360 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1361
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1362 $ waiton $TESTTMP/readyfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1363
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1364 $ hg -R client-other push -fr 'tip' --new-branch
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1365 pushing to ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1366 searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1367 remote: adding changesets
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1368 remote: adding manifests
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1369 remote: adding file changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1370 remote: added 1 changesets with 0 changes to 0 files
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1371
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1372 $ release $TESTTMP/watchfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1373
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1374 Check the result of the push
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1375
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1376 $ cat ./push-log
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1377 pushing to ssh://user@dummy/server
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1378 searching for changes
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1379 wrote ready: $TESTTMP/readyfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1380 waiting on: $TESTTMP/watchfile
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1381 abort: push failed:
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1382 'repository changed while pushing - please try again'
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1383
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1384 $ hg -R server debugobsolete
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1385 $ hg -R server graph
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1386 o a98a47d8b85b C-U (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1387 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1388 o b0ee3d6f51bc C-Q (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1389 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1390 | o 3d57ed3c1091 C-T (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1391 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1392 | o 2efd43f7b5ba C-S (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1393 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1394 | | o de7b9e2ba3f6 C-R (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1395 | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1396 | o 1b58ee3f79e5 C-P (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1397 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1398 | o d0a85b2252a9 C-O (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1399 |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1400 o 55a6f1c01b48 C-Z (other)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1401 |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1402 o 866a66e18630 C-N (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1403 |\
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1404 +---o 6fd3090135df C-M (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1405 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1406 | o cac2cead0ff0 C-L (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1407 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1408 o | be705100c623 C-K (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1409 |\|
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1410 o | d603e2c0cdd7 C-E (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1411 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1412 | o 59e76faf78bd C-D (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1413 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1414 | | o 89420bf00fae C-J (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1415 | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1416 | | | o b35ed749f288 C-I (my-second-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1417 | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1418 | | o 75d69cba5402 C-G (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1419 | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1420 | | | o 833be552cfe6 C-H (my-first-test-branch)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1421 | | |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1422 | | o d9e379a8c432 C-F (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1423 | | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1424 +---o 51c544a58128 C-C (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1425 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1426 | o a9149a1428e2 C-B (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1427 | |
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1428 o | 98217d5a1659 C-A (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1429 |/
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1430 o 842e2fac6304 C-ROOT (default)
6ac367b6ae8a test: add a push race case where obsoleted head is updated
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32638
diff changeset
1431
32670
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1432
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1433 racing commit push a new head obsoleting the one touched by the raced push
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1434 --------------------------------------------------------------------------
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1435
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1436 (mirror test case of the previous one
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1437
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1438 # a (raced branch default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1439 # |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1440 # ø⇠◔ b (racing)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1441 # |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1442 # *
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1443
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1444 (resync-all)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1445
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1446 $ hg -R ./server pull ./client-racy
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1447 pulling from ./client-racy
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1448 searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1449 adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1450 adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1451 adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1452 added 1 changesets with 1 changes to 1 files (+1 heads)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1453 1 new obsolescence markers
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1454 (run 'hg heads .' to see heads, 'hg merge' to merge)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1455 $ hg -R ./client-other pull
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1456 pulling from ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1457 searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1458 adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1459 adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1460 adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1461 added 1 changesets with 1 changes to 1 files (+1 heads)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1462 1 new obsolescence markers
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1463 (run 'hg heads .' to see heads, 'hg merge' to merge)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1464 $ hg -R ./client-racy pull
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1465 pulling from ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1466 searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1467 adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1468 adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1469 adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1470 added 1 changesets with 0 changes to 0 files
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1471 (run 'hg update' to get a working copy)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1472
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1473 $ hg -R server debugobsolete
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1474 b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1475 $ hg -R server graph
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1476 o 720c5163ecf6 C-V (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1477 |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1478 | o a98a47d8b85b C-U (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1479 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1480 | x b0ee3d6f51bc C-Q (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1481 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1482 | o 3d57ed3c1091 C-T (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1483 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1484 | o 2efd43f7b5ba C-S (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1485 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1486 | | o de7b9e2ba3f6 C-R (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1487 | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1488 | o 1b58ee3f79e5 C-P (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1489 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1490 | o d0a85b2252a9 C-O (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1491 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1492 o 55a6f1c01b48 C-Z (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1493 |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1494 o 866a66e18630 C-N (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1495 |\
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1496 +---o 6fd3090135df C-M (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1497 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1498 | o cac2cead0ff0 C-L (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1499 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1500 o | be705100c623 C-K (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1501 |\|
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1502 o | d603e2c0cdd7 C-E (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1503 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1504 | o 59e76faf78bd C-D (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1505 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1506 | | o 89420bf00fae C-J (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1507 | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1508 | | | o b35ed749f288 C-I (my-second-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1509 | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1510 | | o 75d69cba5402 C-G (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1511 | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1512 | | | o 833be552cfe6 C-H (my-first-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1513 | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1514 | | o d9e379a8c432 C-F (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1515 | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1516 +---o 51c544a58128 C-C (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1517 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1518 | o a9149a1428e2 C-B (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1519 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1520 o | 98217d5a1659 C-A (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1521 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1522 o 842e2fac6304 C-ROOT (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1523
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1524
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1525 Creating changesets and markers
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1526
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1527 (new topo branch obsoleting that same head)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1528
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1529 $ hg -R client-other/ up 'desc("C-Q")'
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1530 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1531 $ echo bbb >> client-other/a
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1532 $ hg -R client-other/ branch --force default
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1533 marked working directory as branch default
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1534 $ hg -R client-other/ commit -m "C-W"
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1535 created new head
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1536 $ ID_V=`hg -R client-other log -T '{node}\n' -r 'desc("C-V")'`
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1537 $ ID_W=`hg -R client-other log -T '{node}\n' -r 'desc("C-W")'`
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1538 $ hg -R client-other debugobsolete $ID_V $ID_W
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1539
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1540 (continue the same head)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1541
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1542 $ echo aaa >> client-racy/a
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1543 $ hg -R client-racy/ commit -m "C-X"
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1544
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1545 Pushing
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1546
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1547 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1548
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1549 $ waiton $TESTTMP/readyfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1550
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1551 $ hg -R client-other push -fr 'tip' --new-branch
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1552 pushing to ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1553 searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1554 remote: adding changesets
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1555 remote: adding manifests
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1556 remote: adding file changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1557 remote: added 1 changesets with 0 changes to 1 files (+1 heads)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1558 remote: 1 new obsolescence markers
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1559
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1560 $ release $TESTTMP/watchfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1561
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1562 Check the result of the push
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1563
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1564 $ cat ./push-log
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1565 pushing to ssh://user@dummy/server
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1566 searching for changes
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1567 wrote ready: $TESTTMP/readyfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1568 waiting on: $TESTTMP/watchfile
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1569 abort: push failed:
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1570 'repository changed while pushing - please try again'
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1571
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1572 $ hg -R server debugobsolete
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1573 b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1574 720c5163ecf64dcc6216bee2d62bf3edb1882499 39bc0598afe90ab18da460bafecc0fa953b77596 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1575 $ hg -R server graph --hidden
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1576 o 39bc0598afe9 C-W (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1577 |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1578 | o a98a47d8b85b C-U (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1579 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1580 x b0ee3d6f51bc C-Q (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1581 |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1582 | o 3d57ed3c1091 C-T (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1583 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1584 | o 2efd43f7b5ba C-S (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1585 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1586 | | o de7b9e2ba3f6 C-R (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1587 | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1588 | o 1b58ee3f79e5 C-P (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1589 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1590 | o d0a85b2252a9 C-O (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1591 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1592 | x 720c5163ecf6 C-V (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1593 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1594 o 55a6f1c01b48 C-Z (other)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1595 |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1596 o 866a66e18630 C-N (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1597 |\
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1598 +---o 6fd3090135df C-M (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1599 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1600 | o cac2cead0ff0 C-L (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1601 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1602 o | be705100c623 C-K (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1603 |\|
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1604 o | d603e2c0cdd7 C-E (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1605 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1606 | o 59e76faf78bd C-D (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1607 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1608 | | o 89420bf00fae C-J (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1609 | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1610 | | | o b35ed749f288 C-I (my-second-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1611 | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1612 | | o 75d69cba5402 C-G (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1613 | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1614 | | | o 833be552cfe6 C-H (my-first-test-branch)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1615 | | |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1616 | | o d9e379a8c432 C-F (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1617 | | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1618 +---o 51c544a58128 C-C (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1619 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1620 | o a9149a1428e2 C-B (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1621 | |
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1622 o | 98217d5a1659 C-A (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1623 |/
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1624 o 842e2fac6304 C-ROOT (default)
41b8cfe85383 test: add a push race case where the updated head is obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32669
diff changeset
1625