##// END OF EJS Templates
tests: ignore git's output in test-subrepo-git.t...
Javi Merino -
r16264:0628290d stable
parent child Browse files
Show More
@@ -1,510 +1,508 b''
1 1 $ "$TESTDIR/hghave" git || exit 80
2 2
3 3 make git commits repeatable
4 4
5 5 $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
6 6 $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
7 7 $ GIT_AUTHOR_DATE='1234567891 +0000'; export GIT_AUTHOR_DATE
8 8 $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
9 9 $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
10 10 $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
11 11
12 12 root hg repo
13 13
14 14 $ hg init t
15 15 $ cd t
16 16 $ echo a > a
17 17 $ hg add a
18 18 $ hg commit -m a
19 19 $ cd ..
20 20
21 21 new external git repo
22 22
23 23 $ mkdir gitroot
24 24 $ cd gitroot
25 25 $ git init -q
26 26 $ echo g > g
27 27 $ git add g
28 28 $ git commit -q -m g
29 29
30 30 add subrepo clone
31 31
32 32 $ cd ../t
33 33 $ echo 's = [git]../gitroot' > .hgsub
34 34 $ git clone -q ../gitroot s
35 35 $ hg add .hgsub
36 36 $ hg commit -m 'new git subrepo'
37 37 committing subrepository s
38 38 $ hg debugsub
39 39 path s
40 40 source ../gitroot
41 41 revision da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
42 42
43 43 record a new commit from upstream from a different branch
44 44
45 45 $ cd ../gitroot
46 46 $ git checkout -q -b testing
47 47 $ echo gg >> g
48 48 $ git commit -q -a -m gg
49 49
50 50 $ cd ../t/s
51 51 $ git pull -q >/dev/null 2>/dev/null
52 52 $ git checkout -q -b testing origin/testing >/dev/null
53 53
54 54 $ cd ..
55 55 $ hg status --subrepos
56 56 M s/g
57 57 $ hg commit -m 'update git subrepo'
58 58 committing subrepository s
59 59 $ hg debugsub
60 60 path s
61 61 source ../gitroot
62 62 revision 126f2a14290cd5ce061fdedc430170e8d39e1c5a
63 63
64 64 make $GITROOT pushable, by replacing it with a clone with nothing checked out
65 65
66 66 $ cd ..
67 67 $ git clone gitroot gitrootbare --bare -q
68 68 $ rm -rf gitroot
69 69 $ mv gitrootbare gitroot
70 70
71 71 clone root
72 72
73 73 $ cd t
74 74 $ hg clone . ../tc
75 75 updating to branch default
76 76 cloning subrepo s from $TESTTMP/gitroot
77 77 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
78 78 $ cd ../tc
79 79 $ hg debugsub
80 80 path s
81 81 source ../gitroot
82 82 revision 126f2a14290cd5ce061fdedc430170e8d39e1c5a
83 83
84 84 update to previous substate
85 85
86 86 $ hg update 1 -q
87 87 $ cat s/g
88 88 g
89 89 $ hg debugsub
90 90 path s
91 91 source ../gitroot
92 92 revision da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
93 93
94 94 clone root, make local change
95 95
96 96 $ cd ../t
97 97 $ hg clone . ../ta
98 98 updating to branch default
99 99 cloning subrepo s from $TESTTMP/gitroot
100 100 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
101 101
102 102 $ cd ../ta
103 103 $ echo ggg >> s/g
104 104 $ hg status --subrepos
105 105 M s/g
106 106 $ hg commit --subrepos -m ggg
107 107 committing subrepository s
108 108 $ hg debugsub
109 109 path s
110 110 source ../gitroot
111 111 revision 79695940086840c99328513acbe35f90fcd55e57
112 112
113 113 clone root separately, make different local change
114 114
115 115 $ cd ../t
116 116 $ hg clone . ../tb
117 117 updating to branch default
118 118 cloning subrepo s from $TESTTMP/gitroot
119 119 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
120 120
121 121 $ cd ../tb/s
122 122 $ echo f > f
123 123 $ git add f
124 124 $ cd ..
125 125
126 126 $ hg status --subrepos
127 127 A s/f
128 128 $ hg commit --subrepos -m f
129 129 committing subrepository s
130 130 $ hg debugsub
131 131 path s
132 132 source ../gitroot
133 133 revision aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
134 134
135 135 user b push changes
136 136
137 137 $ hg push 2>/dev/null
138 138 pushing to $TESTTMP/t
139 139 pushing branch testing of subrepo s
140 140 searching for changes
141 141 adding changesets
142 142 adding manifests
143 143 adding file changes
144 144 added 1 changesets with 1 changes to 1 files
145 145
146 146 user a pulls, merges, commits
147 147
148 148 $ cd ../ta
149 149 $ hg pull
150 150 pulling from $TESTTMP/t
151 151 searching for changes
152 152 adding changesets
153 153 adding manifests
154 154 adding file changes
155 155 added 1 changesets with 1 changes to 1 files (+1 heads)
156 156 (run 'hg heads' to see heads, 'hg merge' to merge)
157 157 $ hg merge 2>/dev/null
158 158 pulling subrepo s from $TESTTMP/gitroot
159 159 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
160 160 (branch merge, don't forget to commit)
161 161 $ cat s/f
162 162 f
163 163 $ cat s/g
164 164 g
165 165 gg
166 166 ggg
167 167 $ hg commit --subrepos -m 'merge'
168 168 committing subrepository s
169 169 $ hg status --subrepos --rev 1:5
170 170 M .hgsubstate
171 171 M s/g
172 172 A s/f
173 173 $ hg debugsub
174 174 path s
175 175 source ../gitroot
176 176 revision f47b465e1bce645dbf37232a00574aa1546ca8d3
177 177 $ hg push 2>/dev/null
178 178 pushing to $TESTTMP/t
179 179 pushing branch testing of subrepo s
180 180 searching for changes
181 181 adding changesets
182 182 adding manifests
183 183 adding file changes
184 184 added 2 changesets with 2 changes to 1 files
185 185
186 186 make upstream git changes
187 187
188 188 $ cd ..
189 189 $ git clone -q gitroot gitclone
190 190 $ cd gitclone
191 191 $ echo ff >> f
192 192 $ git commit -q -a -m ff
193 193 $ echo fff >> f
194 194 $ git commit -q -a -m fff
195 195 $ git push origin testing 2>/dev/null
196 196
197 197 make and push changes to hg without updating the subrepo
198 198
199 199 $ cd ../t
200 200 $ hg clone . ../td
201 201 updating to branch default
202 202 cloning subrepo s from $TESTTMP/gitroot
203 203 checking out detached HEAD in subrepo s
204 204 check out a git branch if you intend to make changes
205 205 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
206 206 $ cd ../td
207 207 $ echo aa >> a
208 208 $ hg commit -m aa
209 209 $ hg push
210 210 pushing to $TESTTMP/t
211 211 searching for changes
212 212 adding changesets
213 213 adding manifests
214 214 adding file changes
215 215 added 1 changesets with 1 changes to 1 files
216 216
217 217 sync to upstream git, distribute changes
218 218
219 219 $ cd ../ta
220 220 $ hg pull -u -q
221 221 $ cd s
222 222 $ git pull -q >/dev/null 2>/dev/null
223 223 $ cd ..
224 224 $ hg commit -m 'git upstream sync'
225 225 committing subrepository s
226 226 $ hg debugsub
227 227 path s
228 228 source ../gitroot
229 229 revision 32a343883b74769118bb1d3b4b1fbf9156f4dddc
230 230 $ hg push -q
231 231
232 232 $ cd ../tb
233 233 $ hg pull -q
234 234 $ hg update 2>/dev/null
235 235 pulling subrepo s from $TESTTMP/gitroot
236 236 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
237 237 $ hg debugsub
238 238 path s
239 239 source ../gitroot
240 240 revision 32a343883b74769118bb1d3b4b1fbf9156f4dddc
241 241
242 242 update to a revision without the subrepo, keeping the local git repository
243 243
244 244 $ cd ../t
245 245 $ hg up 0
246 246 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
247 247 $ ls -a s
248 248 .
249 249 ..
250 250 .git
251 251
252 252 $ hg up 2
253 253 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
254 254 $ ls -a s
255 255 .
256 256 ..
257 257 .git
258 258 g
259 259
260 260 archive subrepos
261 261
262 262 $ cd ../tc
263 263 $ hg pull -q
264 264 $ hg archive --subrepos -r 5 ../archive 2>/dev/null
265 265 pulling subrepo s from $TESTTMP/gitroot
266 266 $ cd ../archive
267 267 $ cat s/f
268 268 f
269 269 $ cat s/g
270 270 g
271 271 gg
272 272 ggg
273 273
274 274 create nested repo
275 275
276 276 $ cd ..
277 277 $ hg init outer
278 278 $ cd outer
279 279 $ echo b>b
280 280 $ hg add b
281 281 $ hg commit -m b
282 282
283 283 $ hg clone ../t inner
284 284 updating to branch default
285 285 cloning subrepo s from $TESTTMP/gitroot
286 286 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
287 287 $ echo inner = inner > .hgsub
288 288 $ hg add .hgsub
289 289 $ hg commit -m 'nested sub'
290 290 committing subrepository inner
291 291
292 292 nested commit
293 293
294 294 $ echo ffff >> inner/s/f
295 295 $ hg status --subrepos
296 296 M inner/s/f
297 297 $ hg commit --subrepos -m nested
298 298 committing subrepository inner
299 299 committing subrepository inner/s
300 300
301 301 nested archive
302 302
303 303 $ hg archive --subrepos ../narchive
304 304 $ ls ../narchive/inner/s | grep -v pax_global_header
305 305 f
306 306 g
307 307
308 308 relative source expansion
309 309
310 310 $ cd ..
311 311 $ mkdir d
312 312 $ hg clone t d/t
313 313 updating to branch default
314 314 cloning subrepo s from $TESTTMP/gitroot
315 315 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
316 316
317 317 Don't crash if the subrepo is missing
318 318
319 319 $ hg clone t missing -q
320 320 $ cd missing
321 321 $ rm -rf s
322 322 $ hg status -S
323 323 $ hg sum | grep commit
324 324 commit: 1 subrepos
325 325 $ hg push -q
326 326 abort: subrepo s is missing
327 327 [255]
328 328 $ hg commit --subrepos -qm missing
329 329 abort: subrepo s is missing
330 330 [255]
331 331 $ hg update -C
332 332 cloning subrepo s from $TESTTMP/gitroot
333 333 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
334 334 $ hg sum | grep commit
335 335 commit: (clean)
336 336
337 337 Don't crash if the .hgsubstate entry is missing
338 338
339 339 $ hg update 1 -q
340 340 $ hg rm .hgsubstate
341 341 $ hg commit .hgsubstate -m 'no substate'
342 342 created new head
343 343 $ hg tag -l nosubstate
344 344 $ hg manifest
345 345 .hgsub
346 346 a
347 347
348 348 $ hg status -S
349 349 $ hg sum | grep commit
350 350 commit: 1 subrepos
351 351
352 352 $ hg commit -m 'restore substate'
353 353 committing subrepository s
354 354 $ hg manifest
355 355 .hgsub
356 356 .hgsubstate
357 357 a
358 358 $ hg sum | grep commit
359 359 commit: (clean)
360 360
361 361 $ hg update -qC nosubstate
362 362 $ ls s
363 363
364 364 issue3109: false positives in git diff-index
365 365
366 366 $ hg update -q
367 367 $ touch -t 200001010000 s/g
368 368 $ hg status --subrepos
369 369 $ touch -t 200001010000 s/g
370 370 $ hg sum | grep commit
371 371 commit: (clean)
372 372
373 373 Check hg update --clean
374 374 $ cd $TESTTMP/ta
375 375 $ echo > s/g
376 376 $ cd s
377 377 $ echo c1 > f1
378 378 $ echo c1 > f2
379 379 $ git add f1
380 380 $ cd ..
381 381 $ hg status -S
382 382 M s/g
383 383 A s/f1
384 384 $ ls s
385 385 f
386 386 f1
387 387 f2
388 388 g
389 389 $ hg update --clean
390 390 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
391 391 $ hg status -S
392 392 $ ls s
393 393 f
394 394 f1
395 395 f2
396 396 g
397 397
398 398 Sticky subrepositories, no changes
399 399 $ cd $TESTTMP/ta
400 400 $ hg id -n
401 401 7
402 402 $ cd s
403 403 $ git rev-parse HEAD
404 404 32a343883b74769118bb1d3b4b1fbf9156f4dddc
405 405 $ cd ..
406 406 $ hg update 1 > /dev/null 2>&1
407 407 $ hg id -n
408 408 1
409 409 $ cd s
410 410 $ git rev-parse HEAD
411 411 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
412 412 $ cd ..
413 413
414 414 Sticky subrepositorys, file changes
415 415 $ touch s/f1
416 416 $ cd s
417 417 $ git add f1
418 418 $ cd ..
419 419 $ hg id -n
420 420 1
421 421 $ cd s
422 422 $ git rev-parse HEAD
423 423 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
424 424 $ cd ..
425 425 $ hg update 4
426 426 subrepository sources for s differ
427 427 use (l)ocal source (da5f5b1) or (r)emote source (aa84837)?
428 428 l
429 429 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
430 430 $ hg id -n
431 431 4+
432 432 $ cd s
433 433 $ git rev-parse HEAD
434 434 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
435 435 $ cd ..
436 436 $ hg update --clean tip > /dev/null 2>&1
437 437
438 438 Sticky subrepository, revision updates
439 439 $ hg id -n
440 440 7
441 441 $ cd s
442 442 $ git rev-parse HEAD
443 443 32a343883b74769118bb1d3b4b1fbf9156f4dddc
444 444 $ cd ..
445 445 $ cd s
446 446 $ git checkout aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
447 447 Previous HEAD position was 32a3438... fff
448 448 HEAD is now at aa84837... f
449 449 $ cd ..
450 450 $ hg update 1
451 451 subrepository sources for s differ (in checked out version)
452 452 use (l)ocal source (32a3438) or (r)emote source (da5f5b1)?
453 453 l
454 454 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
455 455 $ hg id -n
456 456 1+
457 457 $ cd s
458 458 $ git rev-parse HEAD
459 459 aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
460 460 $ cd ..
461 461
462 462 Sticky subrepository, file changes and revision updates
463 463 $ touch s/f1
464 464 $ cd s
465 465 $ git add f1
466 466 $ git rev-parse HEAD
467 467 aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
468 468 $ cd ..
469 469 $ hg id -n
470 470 1+
471 471 $ hg update 7
472 472 subrepository sources for s differ
473 473 use (l)ocal source (32a3438) or (r)emote source (32a3438)?
474 474 l
475 475 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
476 476 $ hg id -n
477 477 7
478 478 $ cd s
479 479 $ git rev-parse HEAD
480 480 aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
481 481 $ cd ..
482 482
483 483 Sticky repository, update --clean
484 $ hg update --clean tip
485 Previous HEAD position was aa84837... f
486 HEAD is now at 32a3438... fff
484 $ hg update --clean tip 2>/dev/null
487 485 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
488 486 $ hg id -n
489 487 7
490 488 $ cd s
491 489 $ git rev-parse HEAD
492 490 32a343883b74769118bb1d3b4b1fbf9156f4dddc
493 491 $ cd ..
494 492
495 493 Test subrepo already at intended revision:
496 494 $ cd s
497 495 $ git checkout 32a343883b74769118bb1d3b4b1fbf9156f4dddc
498 496 HEAD is now at 32a3438... fff
499 497 $ cd ..
500 498 $ hg update 1
501 499 Previous HEAD position was 32a3438... fff
502 500 HEAD is now at da5f5b1... g
503 501 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
504 502 $ hg id -n
505 503 1
506 504 $ cd s
507 505 $ git rev-parse HEAD
508 506 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
509 507 $ cd ..
510 508
General Comments 0
You need to be logged in to leave comments. Login now