Mercurial > hg
annotate tests/test-fetch.t @ 31975:76169296e52f
obsolescence: add test for the "branch replacement" logic during push, case A2
Mercurial checks for the introduction of new heads on push. Evolution comes
into play to detect if existing branches on the server are being replaced by
some of the new one we push.
The current code for this logic is very basic (eg: issue4354) and was poorly
tested. We have a better implementation coming in the evolve extension fixing
these issues and with more serious tests coverage. In the process of upstreaming
this improved logic, we start with adding the test case that are already passing
with the current implementation. Once they are all in, we'll upstream the better
implementation and the extra test case.
See inline documentation for details about the test case added in this
changeset.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Thu, 13 Apr 2017 16:23:01 +0200 |
parents | 9dcc9ed26d33 |
children | eb586ed5d8ce |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
21406
diff
changeset
|
1 #require serve |
15446
c5c9ca3719f9
tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents:
15244
diff
changeset
|
2 |
12426 | 3 $ echo "[extensions]" >> $HGRCPATH |
4 $ echo "fetch=" >> $HGRCPATH | |
6246
35bf9c23e17a
adjust test-fetch output to non-default HGPORT, e.g. with run-tests.py -j
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6235
diff
changeset
|
5 |
12426 | 6 test fetch with default branches only |
2822
4f7abf341cd4
fetch: fix breakage from mpm.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
7 |
12426 | 8 $ hg init a |
9 $ echo a > a/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
10 $ hg --cwd a commit -Ama |
12426 | 11 adding a |
12 $ hg clone a b | |
13 updating to branch default | |
14 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
15 $ hg clone a c | |
16 updating to branch default | |
17 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
18 $ echo b > a/b | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
19 $ hg --cwd a commit -Amb |
12426 | 20 adding b |
21 $ hg --cwd a parents -q | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
22 1:d2ae7f538514 |
2822
4f7abf341cd4
fetch: fix breakage from mpm.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
23 |
12426 | 24 should pull one change |
2822
4f7abf341cd4
fetch: fix breakage from mpm.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
25 |
12426 | 26 $ hg --cwd b fetch ../a |
27 pulling from ../a | |
28 searching for changes | |
29 adding changesets | |
30 adding manifests | |
31 adding file changes | |
32 added 1 changesets with 1 changes to 1 files | |
33 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
34 $ hg --cwd b parents -q | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
35 1:d2ae7f538514 |
12426 | 36 $ echo c > c/c |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
37 $ hg --cwd c commit -Amc |
12426 | 38 adding c |
39 $ hg clone c d | |
40 updating to branch default | |
41 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
42 $ hg clone c e | |
43 updating to branch default | |
44 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
2822
4f7abf341cd4
fetch: fix breakage from mpm.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
45 |
12426 | 46 We cannot use the default commit message if fetching from a local |
47 repo, because the path of the repo will be included in the commit | |
48 message, making every commit appear different. | |
49 should merge c into a | |
5798
86f5d8f608b7
fetch: hide authentication details
Bryan O'Sullivan <bos@serpentine.com>
parents:
2990
diff
changeset
|
50 |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
51 $ hg --cwd c fetch -d '0 0' -m 'automated merge' ../a |
12426 | 52 pulling from ../a |
53 searching for changes | |
54 adding changesets | |
55 adding manifests | |
56 adding file changes | |
57 added 1 changesets with 1 changes to 1 files (+1 heads) | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
58 updating to 2:d2ae7f538514 |
12426 | 59 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
60 merging with 1:d36c0562f908 |
12426 | 61 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
62 new changeset 3:a323a0c43ec4 merges remote changes with local |
12426 | 63 $ ls c |
64 a | |
65 b | |
66 c | |
28549 | 67 $ hg serve --cwd a -a localhost -p $HGPORT -d --pid-file=hg.pid |
12426 | 68 $ cat a/hg.pid >> "$DAEMON_PIDS" |
5798
86f5d8f608b7
fetch: hide authentication details
Bryan O'Sullivan <bos@serpentine.com>
parents:
2990
diff
changeset
|
69 |
12426 | 70 fetch over http, no auth |
21406
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
71 (this also tests that editor is invoked if '--edit' is specified) |
5798
86f5d8f608b7
fetch: hide authentication details
Bryan O'Sullivan <bos@serpentine.com>
parents:
2990
diff
changeset
|
72 |
21406
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
73 $ HGEDITOR=cat hg --cwd d fetch --edit http://localhost:$HGPORT/ |
12643
d08bb64888bc
tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12535
diff
changeset
|
74 pulling from http://localhost:$HGPORT/ |
12426 | 75 searching for changes |
76 adding changesets | |
77 adding manifests | |
78 adding file changes | |
79 added 1 changesets with 1 changes to 1 files (+1 heads) | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
80 updating to 2:d2ae7f538514 |
12426 | 81 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
82 merging with 1:d36c0562f908 |
12426 | 83 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
21406
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
84 Automated merge with http://localhost:$HGPORT/ |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
85 |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
86 |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
87 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
88 HG: Leave message empty to abort commit. |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
89 HG: -- |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
90 HG: user: test |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
91 HG: branch merge |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
92 HG: branch 'default' |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
93 HG: changed c |
12535
975ec4ce961c
tests: fix test-fetch port number variability
Matt Mackall <mpm@selenic.com>
parents:
12426
diff
changeset
|
94 new changeset 3:* merges remote changes with local (glob) |
12426 | 95 $ hg --cwd d tip --template '{desc}\n' |
12643
d08bb64888bc
tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12535
diff
changeset
|
96 Automated merge with http://localhost:$HGPORT/ |
21406
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
97 $ hg --cwd d status --rev 'tip^1' --rev tip |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
98 A c |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
99 $ hg --cwd d status --rev 'tip^2' --rev tip |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
100 A b |
6206
0b6f12495276
fetch: switch the default parent used for a merge
Bryan O'Sullivan <bos@serpentine.com>
parents:
5798
diff
changeset
|
101 |
12426 | 102 fetch over http with auth (should be hidden in desc) |
21406
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
103 (this also tests that editor is not invoked if '--edit' is not |
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
104 specified, even though commit message is not specified explicitly) |
6206
0b6f12495276
fetch: switch the default parent used for a merge
Bryan O'Sullivan <bos@serpentine.com>
parents:
5798
diff
changeset
|
105 |
21406
288a793c3167
fetch: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16913
diff
changeset
|
106 $ HGEDITOR=cat hg --cwd e fetch http://user:password@localhost:$HGPORT/ |
12643
d08bb64888bc
tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12535
diff
changeset
|
107 pulling from http://user:***@localhost:$HGPORT/ |
12426 | 108 searching for changes |
109 adding changesets | |
110 adding manifests | |
111 adding file changes | |
112 added 1 changesets with 1 changes to 1 files (+1 heads) | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
113 updating to 2:d2ae7f538514 |
12426 | 114 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
115 merging with 1:d36c0562f908 |
12426 | 116 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
12535
975ec4ce961c
tests: fix test-fetch port number variability
Matt Mackall <mpm@selenic.com>
parents:
12426
diff
changeset
|
117 new changeset 3:* merges remote changes with local (glob) |
12426 | 118 $ hg --cwd e tip --template '{desc}\n' |
12643
d08bb64888bc
tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents:
12535
diff
changeset
|
119 Automated merge with http://localhost:$HGPORT/ |
12426 | 120 $ hg clone a f |
121 updating to branch default | |
122 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
123 $ hg clone a g | |
124 updating to branch default | |
125 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
126 $ echo f > f/f | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
127 $ hg --cwd f ci -Amf |
12426 | 128 adding f |
129 $ echo g > g/g | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
130 $ hg --cwd g ci -Amg |
12426 | 131 adding g |
132 $ hg clone -q f h | |
133 $ hg clone -q g i | |
6206
0b6f12495276
fetch: switch the default parent used for a merge
Bryan O'Sullivan <bos@serpentine.com>
parents:
5798
diff
changeset
|
134 |
12426 | 135 should merge f into g |
6226
bd61e44eb2cc
fetch: don't proceed if working directory is missing files (issue988)
Bryan O'Sullivan <bos@serpentine.com>
parents:
6207
diff
changeset
|
136 |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
137 $ hg --cwd g fetch -d '0 0' --switch -m 'automated merge' ../f |
12426 | 138 pulling from ../f |
139 searching for changes | |
140 adding changesets | |
141 adding manifests | |
142 adding file changes | |
143 added 1 changesets with 1 changes to 1 files (+1 heads) | |
144 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
145 merging with 3:6343ca3eff20 |
12426 | 146 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
147 new changeset 4:f7faa0b7d3c6 merges remote changes with local |
12426 | 148 $ rm i/g |
6226
bd61e44eb2cc
fetch: don't proceed if working directory is missing files (issue988)
Bryan O'Sullivan <bos@serpentine.com>
parents:
6207
diff
changeset
|
149 |
12426 | 150 should abort, because i is modified |
6235
d16798000be0
test-fetch failed due to non-zero exit code
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6226
diff
changeset
|
151 |
12426 | 152 $ hg --cwd i fetch ../h |
22676
a014fdc97154
fetch: use cmdutil.bailifchanged()
Martin von Zweigbergk <martinvonz@gmail.com>
parents:
22046
diff
changeset
|
153 abort: uncommitted changes |
12426 | 154 [255] |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
155 |
12426 | 156 test fetch with named branches |
157 | |
158 $ hg init nbase | |
159 $ echo base > nbase/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
160 $ hg -R nbase ci -Am base |
12426 | 161 adding a |
162 $ hg -R nbase branch a | |
163 marked working directory as branch a | |
15615 | 164 (branches are permanent and global, did you want a bookmark?) |
12426 | 165 $ echo a > nbase/a |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
166 $ hg -R nbase ci -m a |
12426 | 167 $ hg -R nbase up -C 0 |
168 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
169 $ hg -R nbase branch b | |
170 marked working directory as branch b | |
171 $ echo b > nbase/b | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
172 $ hg -R nbase ci -Am b |
12426 | 173 adding b |
174 | |
175 pull in change on foreign branch | |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
176 |
12426 | 177 $ hg clone nbase n1 |
178 updating to branch default | |
179 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
180 $ hg clone nbase n2 | |
181 updating to branch default | |
182 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
183 $ hg -R n1 up -C a | |
184 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
185 $ echo aa > n1/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
186 $ hg -R n1 ci -m a1 |
12426 | 187 $ hg -R n2 up -C b |
188 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
189 $ hg -R n2 fetch -m 'merge' n1 |
12426 | 190 pulling from n1 |
191 searching for changes | |
192 adding changesets | |
193 adding manifests | |
194 adding file changes | |
195 added 1 changesets with 1 changes to 1 files | |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
196 |
12426 | 197 parent should be 2 (no automatic update) |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
198 |
12426 | 199 $ hg -R n2 parents --template '{rev}\n' |
200 2 | |
201 $ rm -fr n1 n2 | |
202 | |
203 pull in changes on both foreign and local branches | |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
204 |
12426 | 205 $ hg clone nbase n1 |
206 updating to branch default | |
207 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
208 $ hg clone nbase n2 | |
209 updating to branch default | |
210 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
211 $ hg -R n1 up -C a | |
212 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
213 $ echo aa > n1/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
214 $ hg -R n1 ci -m a1 |
12426 | 215 $ hg -R n1 up -C b |
216 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
217 $ echo bb > n1/b | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
218 $ hg -R n1 ci -m b1 |
12426 | 219 $ hg -R n2 up -C b |
220 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
221 $ hg -R n2 fetch -m 'merge' n1 |
12426 | 222 pulling from n1 |
223 searching for changes | |
224 adding changesets | |
225 adding manifests | |
226 adding file changes | |
227 added 2 changesets with 2 changes to 2 files | |
228 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
229 |
12426 | 230 parent should be 4 (fast forward) |
231 | |
232 $ hg -R n2 parents --template '{rev}\n' | |
233 4 | |
234 $ rm -fr n1 n2 | |
235 | |
236 pull changes on foreign (2 new heads) and local (1 new head) branches | |
237 with a local change | |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
238 |
12426 | 239 $ hg clone nbase n1 |
240 updating to branch default | |
241 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
242 $ hg clone nbase n2 | |
243 updating to branch default | |
244 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
245 $ hg -R n1 up -C a | |
246 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
247 $ echo a1 > n1/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
248 $ hg -R n1 ci -m a1 |
12426 | 249 $ hg -R n1 up -C b |
250 2 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
251 $ echo bb > n1/b | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
252 $ hg -R n1 ci -m b1 |
12426 | 253 $ hg -R n1 up -C 1 |
254 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
255 $ echo a2 > n1/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
256 $ hg -R n1 ci -m a2 |
12426 | 257 created new head |
258 $ hg -R n2 up -C b | |
259 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
260 $ echo change >> n2/c | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
261 $ hg -R n2 ci -A -m local |
12426 | 262 adding c |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
263 $ hg -R n2 fetch -d '0 0' -m 'merge' n1 |
12426 | 264 pulling from n1 |
265 searching for changes | |
266 adding changesets | |
267 adding manifests | |
268 adding file changes | |
269 added 3 changesets with 3 changes to 2 files (+2 heads) | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
270 updating to 5:3c4a837a864f |
12426 | 271 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
272 merging with 3:1267f84a9ea5 |
12426 | 273 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
274 new changeset 7:2cf2a1261f21 merges remote changes with local |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
275 |
12426 | 276 parent should be 7 (new merge changeset) |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
277 |
12426 | 278 $ hg -R n2 parents --template '{rev}\n' |
279 7 | |
280 $ rm -fr n1 n2 | |
281 | |
282 pull in changes on foreign (merge of local branch) and local (2 new | |
283 heads) with a local change | |
7007
a6b74fbb5ce0
fetch: added support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
6246
diff
changeset
|
284 |
12426 | 285 $ hg clone nbase n1 |
286 updating to branch default | |
287 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
288 $ hg clone nbase n2 | |
289 updating to branch default | |
290 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
291 $ hg -R n1 up -C a | |
292 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
293 $ hg -R n1 merge b | |
294 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
295 (branch merge, don't forget to commit) | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
296 $ hg -R n1 ci -m merge |
12426 | 297 $ hg -R n1 up -C 2 |
298 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
299 $ echo c > n1/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
300 $ hg -R n1 ci -m c |
12426 | 301 $ hg -R n1 up -C 2 |
302 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
303 $ echo cc > n1/a | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
304 $ hg -R n1 ci -m cc |
12426 | 305 created new head |
306 $ hg -R n2 up -C b | |
307 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
308 $ echo change >> n2/b | |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
309 $ hg -R n2 ci -A -m local |
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
310 $ hg -R n2 fetch -m 'merge' n1 |
12426 | 311 pulling from n1 |
312 searching for changes | |
313 adding changesets | |
314 adding manifests | |
315 adding file changes | |
316 added 3 changesets with 2 changes to 1 files (+2 heads) | |
317 not merging with 1 other new branch heads (use "hg heads ." and "hg merge" to merge them) | |
12711
b885f28fa4fa
fetch: fix and document exit codes (issue2356)
Matt Mackall <mpm@selenic.com>
parents:
12643
diff
changeset
|
318 [1] |
7049
6489ee64b522
fetch: use dirstate branch instead of first parents
Sune Foldager <cryo@cyanite.org>
parents:
7007
diff
changeset
|
319 |
12426 | 320 parent should be 3 (fetch did not merge anything) |
321 | |
322 $ hg -R n2 parents --template '{rev}\n' | |
323 3 | |
324 $ rm -fr n1 n2 | |
325 | |
326 pull in change on different branch than dirstate | |
327 | |
328 $ hg init n1 | |
329 $ echo a > n1/a | |
330 $ hg -R n1 ci -Am initial | |
331 adding a | |
332 $ hg clone n1 n2 | |
333 updating to branch default | |
334 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
335 $ echo b > n1/a | |
336 $ hg -R n1 ci -m next | |
337 $ hg -R n2 branch topic | |
338 marked working directory as branch topic | |
15615 | 339 (branches are permanent and global, did you want a bookmark?) |
15244
f6d5d01725db
tests: cleanup of test-fetch.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15243
diff
changeset
|
340 $ hg -R n2 fetch -m merge n1 |
24368
55fd99a23fdc
fetch: use an abort hint where appropriate
Yuya Nishihara <yuya@tcha.org>
parents:
24365
diff
changeset
|
341 abort: working directory not at branch tip |
28964
9dcc9ed26d33
fetch: use single quotes around command hint
timeless <timeless@mozdev.org>
parents:
28549
diff
changeset
|
342 (use 'hg update' to check out branch tip) |
12426 | 343 [255] |
344 | |
345 parent should be 0 (fetch did not update or merge anything) | |
346 | |
347 $ hg -R n2 parents --template '{rev}\n' | |
348 0 | |
349 $ rm -fr n1 n2 | |
350 | |
351 test fetch with inactive branches | |
7855
aa1a87f7544f
regression test for issue1552
Benjamin Pollack <benjamin@bitquabit.com>
parents:
7344
diff
changeset
|
352 |
12426 | 353 $ hg init ib1 |
354 $ echo a > ib1/a | |
355 $ hg --cwd ib1 ci -Am base | |
356 adding a | |
357 $ hg --cwd ib1 branch second | |
358 marked working directory as branch second | |
15615 | 359 (branches are permanent and global, did you want a bookmark?) |
12426 | 360 $ echo b > ib1/b |
361 $ hg --cwd ib1 ci -Am onsecond | |
362 adding b | |
363 $ hg --cwd ib1 branch -f default | |
364 marked working directory as branch default | |
365 $ echo c > ib1/c | |
366 $ hg --cwd ib1 ci -Am newdefault | |
367 adding c | |
368 created new head | |
369 $ hg clone ib1 ib2 | |
370 updating to branch default | |
371 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
372 | |
373 fetch should succeed | |
374 | |
375 $ hg --cwd ib2 fetch ../ib1 | |
376 pulling from ../ib1 | |
377 searching for changes | |
378 no changes found | |
379 $ rm -fr ib1 ib2 | |
380 | |
381 test issue1726 | |
9093
0b2b269ba3d0
branch heads: fix regression introduced in e67e5b60e55f (issue1726)
Henrik Stuart <hg@hstuart.dk>
parents:
7855
diff
changeset
|
382 |
12426 | 383 $ hg init i1726r1 |
384 $ echo a > i1726r1/a | |
385 $ hg --cwd i1726r1 ci -Am base | |
386 adding a | |
387 $ hg clone i1726r1 i1726r2 | |
388 updating to branch default | |
389 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
390 $ echo b > i1726r1/a | |
391 $ hg --cwd i1726r1 ci -m second | |
392 $ echo c > i1726r2/a | |
393 $ hg --cwd i1726r2 ci -m third | |
394 $ HGMERGE=true hg --cwd i1726r2 fetch ../i1726r1 | |
395 pulling from ../i1726r1 | |
396 searching for changes | |
397 adding changesets | |
398 adding manifests | |
399 adding file changes | |
400 added 1 changesets with 1 changes to 1 files (+1 heads) | |
401 updating to 2:7837755a2789 | |
402 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
403 merging with 1:d1f0c6c48ebd | |
404 merging a | |
405 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
406 new changeset 3:* merges remote changes with local (glob) | |
407 $ hg --cwd i1726r2 heads default --template '{rev}\n' | |
408 3 | |
10580
612c142b7a82
fetch: fix newheads calculation (issue2047)
Sune Foldager <cryo@cyanite.org>
parents:
10398
diff
changeset
|
409 |
12426 | 410 test issue2047 |
7344
58fd3c718ca4
tests: add killdaemons helper script
Matt Mackall <mpm@selenic.com>
parents:
7049
diff
changeset
|
411 |
12426 | 412 $ hg -q init i2047a |
413 $ cd i2047a | |
414 $ echo a > a | |
415 $ hg -q ci -Am a | |
416 $ hg -q branch stable | |
417 $ echo b > b | |
418 $ hg -q ci -Am b | |
419 $ cd .. | |
420 $ hg -q clone -r 0 i2047a i2047b | |
421 $ cd i2047b | |
422 $ hg fetch ../i2047a | |
423 pulling from ../i2047a | |
424 searching for changes | |
425 adding changesets | |
426 adding manifests | |
427 adding file changes | |
428 added 1 changesets with 1 changes to 1 files | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15623
diff
changeset
|
429 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15623
diff
changeset
|
430 $ cd .. |