##// END OF EJS Templates
test-bookmarks-pushpull.t: don't set bookmark active unnecessarily...
Kevin Bullock -
r18470:28b3d669 stable
parent child Browse files
Show More
@@ -1,383 +1,383 b''
1 1 $ "$TESTDIR/hghave" serve || exit 80
2 2
3 3 $ cat << EOF >> $HGRCPATH
4 4 > [ui]
5 5 > logtemplate={rev}:{node|short} {desc|firstline}
6 6 > [phases]
7 7 > publish=False
8 8 > [extensions]
9 9 > EOF
10 10 $ cat > obs.py << EOF
11 11 > import mercurial.obsolete
12 12 > mercurial.obsolete._enabled = True
13 13 > EOF
14 14 $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
15 15
16 16 initialize
17 17
18 18 $ hg init a
19 19 $ cd a
20 20 $ echo 'test' > test
21 21 $ hg commit -Am'test'
22 22 adding test
23 23
24 24 set bookmarks
25 25
26 26 $ hg bookmark X
27 27 $ hg bookmark Y
28 28 $ hg bookmark Z
29 29
30 30 import bookmark by name
31 31
32 32 $ hg init ../b
33 33 $ cd ../b
34 34 $ hg book Y
35 35 $ hg book
36 36 * Y -1:000000000000
37 37 $ hg pull ../a
38 38 pulling from ../a
39 39 requesting all changes
40 40 adding changesets
41 41 adding manifests
42 42 adding file changes
43 43 added 1 changesets with 1 changes to 1 files
44 44 adding remote bookmark X
45 45 updating bookmark Y
46 46 adding remote bookmark Z
47 47 (run 'hg update' to get a working copy)
48 48 $ hg bookmarks
49 49 X 0:4e3505fd9583
50 50 Y 0:4e3505fd9583
51 51 Z 0:4e3505fd9583
52 52 $ hg debugpushkey ../a namespaces
53 53 bookmarks
54 54 namespaces
55 55 obsolete
56 56 phases
57 57 $ hg debugpushkey ../a bookmarks
58 58 X 4e3505fd95835d721066b76e75dbb8cc554d7f77
59 59 Y 4e3505fd95835d721066b76e75dbb8cc554d7f77
60 60 Z 4e3505fd95835d721066b76e75dbb8cc554d7f77
61 61 $ hg pull -B X ../a
62 62 pulling from ../a
63 63 no changes found
64 64 importing bookmark X
65 65 $ hg bookmark
66 66 X 0:4e3505fd9583
67 67 Y 0:4e3505fd9583
68 68 Z 0:4e3505fd9583
69 69
70 70 export bookmark by name
71 71
72 72 $ hg bookmark W
73 73 $ hg bookmark foo
74 74 $ hg bookmark foobar
75 75 $ hg push -B W ../a
76 76 pushing to ../a
77 77 searching for changes
78 78 no changes found
79 79 exporting bookmark W
80 80 [1]
81 81 $ hg -R ../a bookmarks
82 82 W -1:000000000000
83 83 X 0:4e3505fd9583
84 84 Y 0:4e3505fd9583
85 85 * Z 0:4e3505fd9583
86 86
87 87 delete a remote bookmark
88 88
89 89 $ hg book -d W
90 90 $ hg push -B W ../a
91 91 pushing to ../a
92 92 searching for changes
93 93 no changes found
94 94 deleting remote bookmark W
95 95 [1]
96 96
97 97 push/pull name that doesn't exist
98 98
99 99 $ hg push -B badname ../a
100 100 pushing to ../a
101 101 searching for changes
102 102 no changes found
103 103 bookmark badname does not exist on the local or remote repository!
104 104 [2]
105 105 $ hg pull -B anotherbadname ../a
106 106 pulling from ../a
107 107 abort: remote bookmark anotherbadname not found!
108 108 [255]
109 109
110 110 divergent bookmarks
111 111
112 112 $ cd ../a
113 113 $ echo c1 > f1
114 114 $ hg ci -Am1
115 115 adding f1
116 116 $ hg book -f @
117 117 $ hg book -f X
118 118 $ hg book
119 119 @ 1:0d2164f0ce0d
120 120 * X 1:0d2164f0ce0d
121 121 Y 0:4e3505fd9583
122 122 Z 1:0d2164f0ce0d
123 123
124 124 $ cd ../b
125 125 $ hg up
126 126 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
127 127 updating bookmark foobar
128 128 $ echo c2 > f2
129 129 $ hg ci -Am2
130 130 adding f2
131 $ hg book -f @
132 $ hg book -f X
131 $ hg book -if @
132 $ hg book -if X
133 133 $ hg book
134 134 @ 1:9b140be10808
135 * X 1:9b140be10808
135 X 1:9b140be10808
136 136 Y 0:4e3505fd9583
137 137 Z 0:4e3505fd9583
138 138 foo -1:000000000000
139 foobar 1:9b140be10808
139 * foobar 1:9b140be10808
140 140
141 141 $ hg pull --config paths.foo=../a foo
142 142 pulling from $TESTTMP/a (glob)
143 143 searching for changes
144 144 adding changesets
145 145 adding manifests
146 146 adding file changes
147 147 added 1 changesets with 1 changes to 1 files (+1 heads)
148 148 divergent bookmark @ stored as @foo
149 149 divergent bookmark X stored as X@foo
150 150 updating bookmark Z
151 151 (run 'hg heads' to see heads, 'hg merge' to merge)
152 152 $ hg book
153 153 @ 1:9b140be10808
154 154 @foo 2:0d2164f0ce0d
155 * X 1:9b140be10808
155 X 1:9b140be10808
156 156 X@foo 2:0d2164f0ce0d
157 157 Y 0:4e3505fd9583
158 158 Z 2:0d2164f0ce0d
159 159 foo -1:000000000000
160 foobar 1:9b140be10808
160 * foobar 1:9b140be10808
161 161 $ hg push -f ../a
162 162 pushing to ../a
163 163 searching for changes
164 164 adding changesets
165 165 adding manifests
166 166 adding file changes
167 167 added 1 changesets with 1 changes to 1 files (+1 heads)
168 168 $ hg -R ../a book
169 169 @ 1:0d2164f0ce0d
170 170 * X 1:0d2164f0ce0d
171 171 Y 0:4e3505fd9583
172 172 Z 1:0d2164f0ce0d
173 173
174 174 update a remote bookmark from a non-head to a head
175 175
176 176 $ hg up -q Y
177 177 $ echo c3 > f2
178 178 $ hg ci -Am3
179 179 adding f2
180 180 created new head
181 181 $ hg push ../a
182 182 pushing to ../a
183 183 searching for changes
184 184 adding changesets
185 185 adding manifests
186 186 adding file changes
187 187 added 1 changesets with 1 changes to 1 files (+1 heads)
188 188 updating bookmark Y
189 189 $ hg -R ../a book
190 190 @ 1:0d2164f0ce0d
191 191 * X 1:0d2164f0ce0d
192 192 Y 3:f6fc62dde3c0
193 193 Z 1:0d2164f0ce0d
194 194
195 195 diverging a remote bookmark fails
196 196
197 197 $ hg up -q 4e3505fd9583
198 198 $ echo c4 > f2
199 199 $ hg ci -Am4
200 200 adding f2
201 201 created new head
202 202 $ echo c5 > f2
203 203 $ hg ci -Am5
204 204 $ hg log -G
205 205 @ 5:c922c0139ca0 5
206 206 |
207 207 o 4:4efff6d98829 4
208 208 |
209 209 | o 3:f6fc62dde3c0 3
210 210 |/
211 211 | o 2:0d2164f0ce0d 1
212 212 |/
213 213 | o 1:9b140be10808 2
214 214 |/
215 215 o 0:4e3505fd9583 test
216 216
217 217
218 218 $ hg book -f Y
219 219
220 220 $ cat <<EOF > ../a/.hg/hgrc
221 221 > [web]
222 222 > push_ssl = false
223 223 > allow_push = *
224 224 > EOF
225 225
226 226 $ hg -R ../a serve -p $HGPORT2 -d --pid-file=../hg2.pid
227 227 $ cat ../hg2.pid >> $DAEMON_PIDS
228 228
229 229 $ hg push http://localhost:$HGPORT2/
230 230 pushing to http://localhost:$HGPORT2/
231 231 searching for changes
232 232 abort: push creates new remote head c922c0139ca0!
233 233 (did you forget to merge? use push -f to force)
234 234 [255]
235 235 $ hg -R ../a book
236 236 @ 1:0d2164f0ce0d
237 237 * X 1:0d2164f0ce0d
238 238 Y 3:f6fc62dde3c0
239 239 Z 1:0d2164f0ce0d
240 240
241 241
242 242 Unrelated marker does not alter the decision
243 243
244 244 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
245 245 $ hg push http://localhost:$HGPORT2/
246 246 pushing to http://localhost:$HGPORT2/
247 247 searching for changes
248 248 abort: push creates new remote head c922c0139ca0!
249 249 (did you forget to merge? use push -f to force)
250 250 [255]
251 251 $ hg -R ../a book
252 252 @ 1:0d2164f0ce0d
253 253 * X 1:0d2164f0ce0d
254 254 Y 3:f6fc62dde3c0
255 255 Z 1:0d2164f0ce0d
256 256
257 257 Update to a successor works
258 258
259 259 $ hg id --debug -r 3
260 260 f6fc62dde3c0771e29704af56ba4d8af77abcc2f
261 261 $ hg id --debug -r 4
262 262 4efff6d98829d9c824c621afd6e3f01865f5439f
263 263 $ hg id --debug -r 5
264 264 c922c0139ca03858f655e4a2af4dd02796a63969 tip Y
265 265 $ hg debugobsolete f6fc62dde3c0771e29704af56ba4d8af77abcc2f cccccccccccccccccccccccccccccccccccccccc
266 266 $ hg debugobsolete cccccccccccccccccccccccccccccccccccccccc 4efff6d98829d9c824c621afd6e3f01865f5439f
267 267 $ hg push http://localhost:$HGPORT2/
268 268 pushing to http://localhost:$HGPORT2/
269 269 searching for changes
270 270 remote: adding changesets
271 271 remote: adding manifests
272 272 remote: adding file changes
273 273 remote: added 2 changesets with 2 changes to 1 files (+1 heads)
274 274 updating bookmark Y
275 275 $ hg -R ../a book
276 276 @ 1:0d2164f0ce0d
277 277 * X 1:0d2164f0ce0d
278 278 Y 5:c922c0139ca0
279 279 Z 1:0d2164f0ce0d
280 280
281 281 hgweb
282 282
283 283 $ cat <<EOF > .hg/hgrc
284 284 > [web]
285 285 > push_ssl = false
286 286 > allow_push = *
287 287 > EOF
288 288
289 289 $ hg serve -p $HGPORT -d --pid-file=../hg.pid -E errors.log
290 290 $ cat ../hg.pid >> $DAEMON_PIDS
291 291 $ cd ../a
292 292
293 293 $ hg debugpushkey http://localhost:$HGPORT/ namespaces
294 294 bookmarks
295 295 namespaces
296 296 obsolete
297 297 phases
298 298 $ hg debugpushkey http://localhost:$HGPORT/ bookmarks
299 299 @ 9b140be1080824d768c5a4691a564088eede71f9
300 300 X 9b140be1080824d768c5a4691a564088eede71f9
301 301 Y c922c0139ca03858f655e4a2af4dd02796a63969
302 302 Z 0d2164f0ce0d8f1d6f94351eba04b794909be66c
303 303 foo 0000000000000000000000000000000000000000
304 304 foobar 9b140be1080824d768c5a4691a564088eede71f9
305 305 $ hg out -B http://localhost:$HGPORT/
306 306 comparing with http://localhost:$HGPORT/
307 307 searching for changed bookmarks
308 308 no changed bookmarks found
309 309 [1]
310 310 $ hg push -B Z http://localhost:$HGPORT/
311 311 pushing to http://localhost:$HGPORT/
312 312 searching for changes
313 313 no changes found
314 314 exporting bookmark Z
315 315 [1]
316 316 $ hg book -d Z
317 317 $ hg in -B http://localhost:$HGPORT/
318 318 comparing with http://localhost:$HGPORT/
319 319 searching for changed bookmarks
320 320 Z 0d2164f0ce0d
321 321 foo 000000000000
322 322 foobar 9b140be10808
323 323 $ hg pull -B Z http://localhost:$HGPORT/
324 324 pulling from http://localhost:$HGPORT/
325 325 no changes found
326 326 divergent bookmark @ stored as @1
327 327 divergent bookmark X stored as X@1
328 328 adding remote bookmark Z
329 329 adding remote bookmark foo
330 330 adding remote bookmark foobar
331 331 importing bookmark Z
332 332 $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
333 333 requesting all changes
334 334 adding changesets
335 335 adding manifests
336 336 adding file changes
337 337 added 5 changesets with 5 changes to 3 files (+2 heads)
338 338 updating to bookmark @
339 339 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
340 340 $ hg -R cloned-bookmarks bookmarks
341 341 * @ 1:9b140be10808
342 342 X 1:9b140be10808
343 343 Y 4:c922c0139ca0
344 344 Z 2:0d2164f0ce0d
345 345 foo -1:000000000000
346 346 foobar 1:9b140be10808
347 347
348 348 $ cd ..
349 349
350 350 Pushing a bookmark should only push the changes required by that
351 351 bookmark, not all outgoing changes:
352 352 $ hg clone http://localhost:$HGPORT/ addmarks
353 353 requesting all changes
354 354 adding changesets
355 355 adding manifests
356 356 adding file changes
357 357 added 5 changesets with 5 changes to 3 files (+2 heads)
358 358 updating to bookmark @
359 359 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
360 360 $ cd addmarks
361 361 $ echo foo > foo
362 362 $ hg add foo
363 363 $ hg commit -m 'add foo'
364 364 $ echo bar > bar
365 365 $ hg add bar
366 366 $ hg commit -m 'add bar'
367 367 $ hg co "tip^"
368 368 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
369 369 $ hg book add-foo
370 370 $ hg book -r tip add-bar
371 371 Note: this push *must* push only a single changeset, as that's the point
372 372 of this test.
373 373 $ hg push -B add-foo --traceback
374 374 pushing to http://localhost:$HGPORT/
375 375 searching for changes
376 376 remote: adding changesets
377 377 remote: adding manifests
378 378 remote: adding file changes
379 379 remote: added 1 changesets with 1 changes to 1 files
380 380 updating bookmark @ failed!
381 381 exporting bookmark add-foo
382 382
383 383 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now