##// END OF EJS Templates
tests: demonstrate `hg log -r . <file>` linkrev bug...
Martin von Zweigbergk -
r42383:c96507f6 default
parent child Browse files
Show More
@@ -1,2759 +1,2772 b''
1 1 Log on empty repository: checking consistency
2 2
3 3 $ hg init empty
4 4 $ cd empty
5 5 $ hg log
6 6 $ hg log -r 1
7 7 abort: unknown revision '1'!
8 8 [255]
9 9 $ hg log -r -1:0
10 10 abort: unknown revision '-1'!
11 11 [255]
12 12 $ hg log -r 'branch(name)'
13 13 abort: unknown revision 'name'!
14 14 [255]
15 15 $ hg log -r null -q
16 16 -1:000000000000
17 17
18 18 $ cd ..
19 19
20 20 The g is crafted to have 2 filelog topological heads in a linear
21 21 changeset graph
22 22
23 23 $ hg init a
24 24 $ cd a
25 25 $ echo a > a
26 26 $ echo f > f
27 27 $ hg ci -Ama -d '1 0'
28 28 adding a
29 29 adding f
30 30
31 31 $ hg cp a b
32 32 $ hg cp f g
33 33 $ hg ci -mb -d '2 0'
34 34
35 35 $ mkdir dir
36 36 $ hg mv b dir
37 37 $ echo g >> g
38 38 $ echo f >> f
39 39 $ hg ci -mc -d '3 0'
40 40
41 41 $ hg mv a b
42 42 $ hg cp -f f g
43 43 $ echo a > d
44 44 $ hg add d
45 45 $ hg ci -md -d '4 0'
46 46
47 47 $ hg mv dir/b e
48 48 $ hg ci -me -d '5 0'
49 49
50 50 Make sure largefiles doesn't interfere with logging a regular file
51 51 $ hg --debug log a -T '{rev}: {desc}\n' --config extensions.largefiles=
52 52 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
53 53 updated patterns: .hglf/a, a
54 54 0: a
55 55 $ hg log a
56 56 changeset: 0:9161b9aeaf16
57 57 user: test
58 58 date: Thu Jan 01 00:00:01 1970 +0000
59 59 summary: a
60 60
61 61 $ hg log glob:a*
62 62 changeset: 3:2ca5ba701980
63 63 user: test
64 64 date: Thu Jan 01 00:00:04 1970 +0000
65 65 summary: d
66 66
67 67 changeset: 0:9161b9aeaf16
68 68 user: test
69 69 date: Thu Jan 01 00:00:01 1970 +0000
70 70 summary: a
71 71
72 72 $ hg --debug log glob:a* -T '{rev}: {desc}\n' --config extensions.largefiles=
73 73 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
74 74 updated patterns: glob:.hglf/a*, glob:a*
75 75 3: d
76 76 0: a
77 77
78 78 log on directory
79 79
80 80 $ hg log dir
81 81 changeset: 4:7e4639b4691b
82 82 tag: tip
83 83 user: test
84 84 date: Thu Jan 01 00:00:05 1970 +0000
85 85 summary: e
86 86
87 87 changeset: 2:f8954cd4dc1f
88 88 user: test
89 89 date: Thu Jan 01 00:00:03 1970 +0000
90 90 summary: c
91 91
92 92 $ hg log somethingthatdoesntexist dir
93 93 changeset: 4:7e4639b4691b
94 94 tag: tip
95 95 user: test
96 96 date: Thu Jan 01 00:00:05 1970 +0000
97 97 summary: e
98 98
99 99 changeset: 2:f8954cd4dc1f
100 100 user: test
101 101 date: Thu Jan 01 00:00:03 1970 +0000
102 102 summary: c
103 103
104 104
105 105 -X, with explicit path
106 106
107 107 $ hg log a -X a
108 108
109 109 -f, non-existent directory
110 110
111 111 $ hg log -f dir
112 112 abort: cannot follow file not in parent revision: "dir"
113 113 [255]
114 114
115 115 -f, directory
116 116
117 117 $ hg up -q 3
118 118 $ hg log -f dir
119 119 changeset: 2:f8954cd4dc1f
120 120 user: test
121 121 date: Thu Jan 01 00:00:03 1970 +0000
122 122 summary: c
123 123
124 124 -f, directory with --patch
125 125
126 126 $ hg log -f dir -p
127 127 changeset: 2:f8954cd4dc1f
128 128 user: test
129 129 date: Thu Jan 01 00:00:03 1970 +0000
130 130 summary: c
131 131
132 132 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
133 133 --- /dev/null* (glob)
134 134 +++ b/dir/b* (glob)
135 135 @@ -0,0 +1,1 @@
136 136 +a
137 137
138 138
139 139 -f, pattern
140 140
141 141 $ hg log -f -I 'dir**' -p
142 142 changeset: 2:f8954cd4dc1f
143 143 user: test
144 144 date: Thu Jan 01 00:00:03 1970 +0000
145 145 summary: c
146 146
147 147 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
148 148 --- /dev/null* (glob)
149 149 +++ b/dir/b* (glob)
150 150 @@ -0,0 +1,1 @@
151 151 +a
152 152
153 153 $ hg up -q 4
154 154
155 155 -f, a wrong style
156 156
157 157 $ hg log -f -l1 --style something
158 158 abort: style 'something' not found
159 159 (available styles: bisect, changelog, compact, default, phases, show, status, xml)
160 160 [255]
161 161
162 162 -f, phases style
163 163
164 164
165 165 $ hg log -f -l1 --style phases
166 166 changeset: 4:7e4639b4691b
167 167 tag: tip
168 168 phase: draft
169 169 user: test
170 170 date: Thu Jan 01 00:00:05 1970 +0000
171 171 summary: e
172 172
173 173
174 174 $ hg log -f -l1 --style phases -q
175 175 4:7e4639b4691b
176 176
177 177 -f, but no args
178 178
179 179 $ hg log -f
180 180 changeset: 4:7e4639b4691b
181 181 tag: tip
182 182 user: test
183 183 date: Thu Jan 01 00:00:05 1970 +0000
184 184 summary: e
185 185
186 186 changeset: 3:2ca5ba701980
187 187 user: test
188 188 date: Thu Jan 01 00:00:04 1970 +0000
189 189 summary: d
190 190
191 191 changeset: 2:f8954cd4dc1f
192 192 user: test
193 193 date: Thu Jan 01 00:00:03 1970 +0000
194 194 summary: c
195 195
196 196 changeset: 1:d89b0a12d229
197 197 user: test
198 198 date: Thu Jan 01 00:00:02 1970 +0000
199 199 summary: b
200 200
201 201 changeset: 0:9161b9aeaf16
202 202 user: test
203 203 date: Thu Jan 01 00:00:01 1970 +0000
204 204 summary: a
205 205
206 206
207 207 one rename
208 208
209 209 $ hg up -q 2
210 210 $ hg log -vf a
211 211 changeset: 0:9161b9aeaf16
212 212 user: test
213 213 date: Thu Jan 01 00:00:01 1970 +0000
214 214 files: a f
215 215 description:
216 216 a
217 217
218 218
219 219
220 220 many renames
221 221
222 222 $ hg up -q tip
223 223 $ hg log -vf e
224 224 changeset: 4:7e4639b4691b
225 225 tag: tip
226 226 user: test
227 227 date: Thu Jan 01 00:00:05 1970 +0000
228 228 files: dir/b e
229 229 description:
230 230 e
231 231
232 232
233 233 changeset: 2:f8954cd4dc1f
234 234 user: test
235 235 date: Thu Jan 01 00:00:03 1970 +0000
236 236 files: b dir/b f g
237 237 description:
238 238 c
239 239
240 240
241 241 changeset: 1:d89b0a12d229
242 242 user: test
243 243 date: Thu Jan 01 00:00:02 1970 +0000
244 244 files: b g
245 245 description:
246 246 b
247 247
248 248
249 249 changeset: 0:9161b9aeaf16
250 250 user: test
251 251 date: Thu Jan 01 00:00:01 1970 +0000
252 252 files: a f
253 253 description:
254 254 a
255 255
256 256
257 257
258 258
259 259 log -pf dir/b
260 260
261 261 $ hg up -q 3
262 262 $ hg log -pf dir/b
263 263 changeset: 2:f8954cd4dc1f
264 264 user: test
265 265 date: Thu Jan 01 00:00:03 1970 +0000
266 266 summary: c
267 267
268 268 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
269 269 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
270 270 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
271 271 @@ -0,0 +1,1 @@
272 272 +a
273 273
274 274 changeset: 1:d89b0a12d229
275 275 user: test
276 276 date: Thu Jan 01 00:00:02 1970 +0000
277 277 summary: b
278 278
279 279 diff -r 9161b9aeaf16 -r d89b0a12d229 b
280 280 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
281 281 +++ b/b Thu Jan 01 00:00:02 1970 +0000
282 282 @@ -0,0 +1,1 @@
283 283 +a
284 284
285 285 changeset: 0:9161b9aeaf16
286 286 user: test
287 287 date: Thu Jan 01 00:00:01 1970 +0000
288 288 summary: a
289 289
290 290 diff -r 000000000000 -r 9161b9aeaf16 a
291 291 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
292 292 +++ b/a Thu Jan 01 00:00:01 1970 +0000
293 293 @@ -0,0 +1,1 @@
294 294 +a
295 295
296 296
297 297 log -pf b inside dir
298 298
299 299 $ hg --cwd=dir log -pf b
300 300 changeset: 2:f8954cd4dc1f
301 301 user: test
302 302 date: Thu Jan 01 00:00:03 1970 +0000
303 303 summary: c
304 304
305 305 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
306 306 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
307 307 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
308 308 @@ -0,0 +1,1 @@
309 309 +a
310 310
311 311 changeset: 1:d89b0a12d229
312 312 user: test
313 313 date: Thu Jan 01 00:00:02 1970 +0000
314 314 summary: b
315 315
316 316 diff -r 9161b9aeaf16 -r d89b0a12d229 b
317 317 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
318 318 +++ b/b Thu Jan 01 00:00:02 1970 +0000
319 319 @@ -0,0 +1,1 @@
320 320 +a
321 321
322 322 changeset: 0:9161b9aeaf16
323 323 user: test
324 324 date: Thu Jan 01 00:00:01 1970 +0000
325 325 summary: a
326 326
327 327 diff -r 000000000000 -r 9161b9aeaf16 a
328 328 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
329 329 +++ b/a Thu Jan 01 00:00:01 1970 +0000
330 330 @@ -0,0 +1,1 @@
331 331 +a
332 332
333 333
334 334 log -pf, but no args
335 335
336 336 $ hg log -pf
337 337 changeset: 3:2ca5ba701980
338 338 user: test
339 339 date: Thu Jan 01 00:00:04 1970 +0000
340 340 summary: d
341 341
342 342 diff -r f8954cd4dc1f -r 2ca5ba701980 a
343 343 --- a/a Thu Jan 01 00:00:03 1970 +0000
344 344 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
345 345 @@ -1,1 +0,0 @@
346 346 -a
347 347 diff -r f8954cd4dc1f -r 2ca5ba701980 b
348 348 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
349 349 +++ b/b Thu Jan 01 00:00:04 1970 +0000
350 350 @@ -0,0 +1,1 @@
351 351 +a
352 352 diff -r f8954cd4dc1f -r 2ca5ba701980 d
353 353 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
354 354 +++ b/d Thu Jan 01 00:00:04 1970 +0000
355 355 @@ -0,0 +1,1 @@
356 356 +a
357 357 diff -r f8954cd4dc1f -r 2ca5ba701980 g
358 358 --- a/g Thu Jan 01 00:00:03 1970 +0000
359 359 +++ b/g Thu Jan 01 00:00:04 1970 +0000
360 360 @@ -1,2 +1,2 @@
361 361 f
362 362 -g
363 363 +f
364 364
365 365 changeset: 2:f8954cd4dc1f
366 366 user: test
367 367 date: Thu Jan 01 00:00:03 1970 +0000
368 368 summary: c
369 369
370 370 diff -r d89b0a12d229 -r f8954cd4dc1f b
371 371 --- a/b Thu Jan 01 00:00:02 1970 +0000
372 372 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
373 373 @@ -1,1 +0,0 @@
374 374 -a
375 375 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
376 376 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
377 377 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
378 378 @@ -0,0 +1,1 @@
379 379 +a
380 380 diff -r d89b0a12d229 -r f8954cd4dc1f f
381 381 --- a/f Thu Jan 01 00:00:02 1970 +0000
382 382 +++ b/f Thu Jan 01 00:00:03 1970 +0000
383 383 @@ -1,1 +1,2 @@
384 384 f
385 385 +f
386 386 diff -r d89b0a12d229 -r f8954cd4dc1f g
387 387 --- a/g Thu Jan 01 00:00:02 1970 +0000
388 388 +++ b/g Thu Jan 01 00:00:03 1970 +0000
389 389 @@ -1,1 +1,2 @@
390 390 f
391 391 +g
392 392
393 393 changeset: 1:d89b0a12d229
394 394 user: test
395 395 date: Thu Jan 01 00:00:02 1970 +0000
396 396 summary: b
397 397
398 398 diff -r 9161b9aeaf16 -r d89b0a12d229 b
399 399 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
400 400 +++ b/b Thu Jan 01 00:00:02 1970 +0000
401 401 @@ -0,0 +1,1 @@
402 402 +a
403 403 diff -r 9161b9aeaf16 -r d89b0a12d229 g
404 404 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
405 405 +++ b/g Thu Jan 01 00:00:02 1970 +0000
406 406 @@ -0,0 +1,1 @@
407 407 +f
408 408
409 409 changeset: 0:9161b9aeaf16
410 410 user: test
411 411 date: Thu Jan 01 00:00:01 1970 +0000
412 412 summary: a
413 413
414 414 diff -r 000000000000 -r 9161b9aeaf16 a
415 415 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
416 416 +++ b/a Thu Jan 01 00:00:01 1970 +0000
417 417 @@ -0,0 +1,1 @@
418 418 +a
419 419 diff -r 000000000000 -r 9161b9aeaf16 f
420 420 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
421 421 +++ b/f Thu Jan 01 00:00:01 1970 +0000
422 422 @@ -0,0 +1,1 @@
423 423 +f
424 424
425 425
426 426 log -vf dir/b
427 427
428 428 $ hg log -vf dir/b
429 429 changeset: 2:f8954cd4dc1f
430 430 user: test
431 431 date: Thu Jan 01 00:00:03 1970 +0000
432 432 files: b dir/b f g
433 433 description:
434 434 c
435 435
436 436
437 437 changeset: 1:d89b0a12d229
438 438 user: test
439 439 date: Thu Jan 01 00:00:02 1970 +0000
440 440 files: b g
441 441 description:
442 442 b
443 443
444 444
445 445 changeset: 0:9161b9aeaf16
446 446 user: test
447 447 date: Thu Jan 01 00:00:01 1970 +0000
448 448 files: a f
449 449 description:
450 450 a
451 451
452 452
453 453
454 454
455 455 -f and multiple filelog heads
456 456
457 457 $ hg up -q 2
458 458 $ hg log -f g --template '{rev}\n'
459 459 2
460 460 1
461 461 0
462 462 $ hg up -q tip
463 463 $ hg log -f g --template '{rev}\n'
464 464 3
465 465 2
466 466 0
467 467
468 468 follow files from the specified revisions (issue4959)
469 469
470 470 $ hg log -G -T '{rev} {files},{file_copies % " {source}->{name}"}\n'
471 471 @ 4 dir/b e, dir/b->e
472 472 |
473 473 o 3 a b d g, a->b f->g
474 474 |
475 475 o 2 b dir/b f g, b->dir/b
476 476 |
477 477 o 1 b g, a->b f->g
478 478 |
479 479 o 0 a f,
480 480
481 481
482 482 $ hg log -T '{rev}\n' -fr 4 e
483 483 4
484 484 2
485 485 1
486 486 0
487 487 $ hg log -T '{rev}\n' -fr 2 g
488 488 2
489 489 1
490 490 0
491 491 $ hg log -T '{rev}\n' -fr '2+3' g
492 492 3
493 493 2
494 494 1
495 495 0
496 496
497 497 follow files from the specified revisions with glob patterns (issue5053)
498 498 (BROKEN: should follow copies from e@4)
499 499
500 500 $ hg log -T '{rev}\n' -fr4 e -X '[abcdfg]'
501 501 4
502 502 2 (false !)
503 503 1 (false !)
504 504 0 (false !)
505 505
506 506 follow files from the specified revisions with missing patterns
507 507 (BROKEN: should follow copies from e@4)
508 508
509 509 $ hg log -T '{rev}\n' -fr4 e x
510 510 4
511 511 2 (false !)
512 512 1 (false !)
513 513 0 (false !)
514 514
515 515 follow files from the specified revisions across copies with -p/--patch
516 516
517 517 $ hg log -T '== rev: {rev},{file_copies % " {source}->{name}"} ==\n' -fpr 4 e g
518 518 == rev: 4, dir/b->e ==
519 519 diff -r 2ca5ba701980 -r 7e4639b4691b e
520 520 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
521 521 +++ b/e Thu Jan 01 00:00:05 1970 +0000
522 522 @@ -0,0 +1,1 @@
523 523 +a
524 524
525 525 == rev: 3, a->b f->g ==
526 526 diff -r f8954cd4dc1f -r 2ca5ba701980 g
527 527 --- a/g Thu Jan 01 00:00:03 1970 +0000
528 528 +++ b/g Thu Jan 01 00:00:04 1970 +0000
529 529 @@ -1,2 +1,2 @@
530 530 f
531 531 -g
532 532 +f
533 533
534 534 == rev: 2, b->dir/b ==
535 535 diff -r d89b0a12d229 -r f8954cd4dc1f dir/b
536 536 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
537 537 +++ b/dir/b Thu Jan 01 00:00:03 1970 +0000
538 538 @@ -0,0 +1,1 @@
539 539 +a
540 540 diff -r d89b0a12d229 -r f8954cd4dc1f f
541 541 --- a/f Thu Jan 01 00:00:02 1970 +0000
542 542 +++ b/f Thu Jan 01 00:00:03 1970 +0000
543 543 @@ -1,1 +1,2 @@
544 544 f
545 545 +f
546 546
547 547 == rev: 1, a->b f->g ==
548 548 diff -r 9161b9aeaf16 -r d89b0a12d229 b
549 549 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
550 550 +++ b/b Thu Jan 01 00:00:02 1970 +0000
551 551 @@ -0,0 +1,1 @@
552 552 +a
553 553
554 554 == rev: 0, ==
555 555 diff -r 000000000000 -r 9161b9aeaf16 a
556 556 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
557 557 +++ b/a Thu Jan 01 00:00:01 1970 +0000
558 558 @@ -0,0 +1,1 @@
559 559 +a
560 560 diff -r 000000000000 -r 9161b9aeaf16 f
561 561 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
562 562 +++ b/f Thu Jan 01 00:00:01 1970 +0000
563 563 @@ -0,0 +1,1 @@
564 564 +f
565 565
566 566
567 567 log copies with --copies
568 568
569 569 $ hg log -vC --template '{rev} {file_copies}\n'
570 570 4 e (dir/b)
571 571 3 b (a)g (f)
572 572 2 dir/b (b)
573 573 1 b (a)g (f)
574 574 0
575 575
576 576 log copies switch without --copies, with old filecopy template
577 577
578 578 $ hg log -v --template '{rev} {file_copies_switch%filecopy}\n'
579 579 4
580 580 3
581 581 2
582 582 1
583 583 0
584 584
585 585 log copies switch with --copies
586 586
587 587 $ hg log -vC --template '{rev} {file_copies_switch}\n'
588 588 4 e (dir/b)
589 589 3 b (a)g (f)
590 590 2 dir/b (b)
591 591 1 b (a)g (f)
592 592 0
593 593
594 594
595 595 log copies with hardcoded style and with --style=default
596 596
597 597 $ hg log -vC -r4
598 598 changeset: 4:7e4639b4691b
599 599 tag: tip
600 600 user: test
601 601 date: Thu Jan 01 00:00:05 1970 +0000
602 602 files: dir/b e
603 603 copies: e (dir/b)
604 604 description:
605 605 e
606 606
607 607
608 608 $ hg log -vC -r4 --style=default
609 609 changeset: 4:7e4639b4691b
610 610 tag: tip
611 611 user: test
612 612 date: Thu Jan 01 00:00:05 1970 +0000
613 613 files: dir/b e
614 614 copies: e (dir/b)
615 615 description:
616 616 e
617 617
618 618
619 619 $ hg log -vC -r4 -Tjson
620 620 [
621 621 {
622 622 "bookmarks": [],
623 623 "branch": "default",
624 624 "copies": {"e": "dir/b"},
625 625 "date": [5, 0],
626 626 "desc": "e",
627 627 "files": ["dir/b", "e"],
628 628 "node": "7e4639b4691b9f84b81036a8d4fb218ce3c5e3a3",
629 629 "parents": ["2ca5ba7019804f1f597249caddf22a64d34df0ba"],
630 630 "phase": "draft",
631 631 "rev": 4,
632 632 "tags": ["tip"],
633 633 "user": "test"
634 634 }
635 635 ]
636 636
637 637 log copies, non-linear manifest
638 638
639 639 $ hg up -C 3
640 640 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
641 641 $ hg mv dir/b e
642 642 $ echo foo > foo
643 643 $ hg ci -Ame2 -d '6 0'
644 644 adding foo
645 645 created new head
646 646 $ hg log -v --template '{rev} {file_copies}\n' -r 5
647 647 5 e (dir/b)
648 648
649 649
650 650 log copies, execute bit set
651 651
652 652 #if execbit
653 653 $ chmod +x e
654 654 $ hg ci -me3 -d '7 0'
655 655 $ hg log -v --template '{rev} {file_copies}\n' -r 6
656 656 6
657 657 #endif
658 658
659 659 log copies, empty set
660 660
661 661 $ hg log --copies -r '0 and not 0'
662 662
663 663 log -p d
664 664
665 665 $ hg log -pv d
666 666 changeset: 3:2ca5ba701980
667 667 user: test
668 668 date: Thu Jan 01 00:00:04 1970 +0000
669 669 files: a b d g
670 670 description:
671 671 d
672 672
673 673
674 674 diff -r f8954cd4dc1f -r 2ca5ba701980 d
675 675 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
676 676 +++ b/d Thu Jan 01 00:00:04 1970 +0000
677 677 @@ -0,0 +1,1 @@
678 678 +a
679 679
680 680
681 681
682 682 log --removed file
683 683
684 684 $ hg log --removed -v a
685 685 changeset: 3:2ca5ba701980
686 686 user: test
687 687 date: Thu Jan 01 00:00:04 1970 +0000
688 688 files: a b d g
689 689 description:
690 690 d
691 691
692 692
693 693 changeset: 0:9161b9aeaf16
694 694 user: test
695 695 date: Thu Jan 01 00:00:01 1970 +0000
696 696 files: a f
697 697 description:
698 698 a
699 699
700 700
701 701
702 702 log --removed revrange file
703 703
704 704 $ hg log --removed -v -r0:2 a
705 705 changeset: 0:9161b9aeaf16
706 706 user: test
707 707 date: Thu Jan 01 00:00:01 1970 +0000
708 708 files: a f
709 709 description:
710 710 a
711 711
712 712
713 713 $ cd ..
714 714
715 715 log --follow tests
716 716
717 717 $ hg init follow
718 718 $ cd follow
719 719
720 720 $ echo base > base
721 721 $ hg ci -Ambase -d '1 0'
722 722 adding base
723 723
724 724 $ echo r1 >> base
725 725 $ hg ci -Amr1 -d '1 0'
726 726 $ echo r2 >> base
727 727 $ hg ci -Amr2 -d '1 0'
728 728
729 729 $ hg up -C 1
730 730 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
731 731 $ echo b1 > b1
732 732
733 733 log -r "follow('set:clean()')"
734 734
735 735 $ hg log -r "follow('set:clean()')"
736 736 changeset: 0:67e992f2c4f3
737 737 user: test
738 738 date: Thu Jan 01 00:00:01 1970 +0000
739 739 summary: base
740 740
741 741 changeset: 1:3d5bf5654eda
742 742 user: test
743 743 date: Thu Jan 01 00:00:01 1970 +0000
744 744 summary: r1
745 745
746 746
747 747 $ hg ci -Amb1 -d '1 0'
748 748 adding b1
749 749 created new head
750 750
751 751
752 752 log -f
753 753
754 754 $ hg log -f
755 755 changeset: 3:e62f78d544b4
756 756 tag: tip
757 757 parent: 1:3d5bf5654eda
758 758 user: test
759 759 date: Thu Jan 01 00:00:01 1970 +0000
760 760 summary: b1
761 761
762 762 changeset: 1:3d5bf5654eda
763 763 user: test
764 764 date: Thu Jan 01 00:00:01 1970 +0000
765 765 summary: r1
766 766
767 767 changeset: 0:67e992f2c4f3
768 768 user: test
769 769 date: Thu Jan 01 00:00:01 1970 +0000
770 770 summary: base
771 771
772 772
773 773 log -r follow('glob:b*')
774 774
775 775 $ hg log -r "follow('glob:b*')"
776 776 changeset: 0:67e992f2c4f3
777 777 user: test
778 778 date: Thu Jan 01 00:00:01 1970 +0000
779 779 summary: base
780 780
781 781 changeset: 1:3d5bf5654eda
782 782 user: test
783 783 date: Thu Jan 01 00:00:01 1970 +0000
784 784 summary: r1
785 785
786 786 changeset: 3:e62f78d544b4
787 787 tag: tip
788 788 parent: 1:3d5bf5654eda
789 789 user: test
790 790 date: Thu Jan 01 00:00:01 1970 +0000
791 791 summary: b1
792 792
793 793 log -f -r '1 + 4'
794 794
795 795 $ hg up -C 0
796 796 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
797 797 $ echo b2 > b2
798 798 $ hg ci -Amb2 -d '1 0'
799 799 adding b2
800 800 created new head
801 801 $ hg log -f -r '1 + 4'
802 802 changeset: 4:ddb82e70d1a1
803 803 tag: tip
804 804 parent: 0:67e992f2c4f3
805 805 user: test
806 806 date: Thu Jan 01 00:00:01 1970 +0000
807 807 summary: b2
808 808
809 809 changeset: 1:3d5bf5654eda
810 810 user: test
811 811 date: Thu Jan 01 00:00:01 1970 +0000
812 812 summary: r1
813 813
814 814 changeset: 0:67e992f2c4f3
815 815 user: test
816 816 date: Thu Jan 01 00:00:01 1970 +0000
817 817 summary: base
818 818
819 819
820 820 log -fr with aliases: 'A' should be expanded, but 'reverse()' should have no
821 821 effect
822 822
823 823 $ hg log --config 'revsetalias.reverse(x)=x' --config 'revsetalias.A=1+4' -qfrA
824 824 4:ddb82e70d1a1
825 825 1:3d5bf5654eda
826 826 0:67e992f2c4f3
827 827
828 828 log -r "follow('set:grep(b2)')"
829 829
830 830 $ hg log -r "follow('set:grep(b2)')"
831 831 changeset: 4:ddb82e70d1a1
832 832 tag: tip
833 833 parent: 0:67e992f2c4f3
834 834 user: test
835 835 date: Thu Jan 01 00:00:01 1970 +0000
836 836 summary: b2
837 837
838 838 log -r "follow('set:grep(b2)', 4)"
839 839
840 840 $ hg up -qC 0
841 841 $ hg log -r "follow('set:grep(b2)', 4)"
842 842 changeset: 4:ddb82e70d1a1
843 843 tag: tip
844 844 parent: 0:67e992f2c4f3
845 845 user: test
846 846 date: Thu Jan 01 00:00:01 1970 +0000
847 847 summary: b2
848 848
849 849
850 850 follow files starting from multiple revisions:
851 851
852 852 $ hg log -T '{rev}: {files}\n' -r "follow('glob:b?', startrev=2+3+4)"
853 853 3: b1
854 854 4: b2
855 855
856 856 follow files starting from empty revision:
857 857
858 858 $ hg log -T '{rev}: {files}\n' -r "follow('glob:*', startrev=.-.)"
859 859
860 860 follow starting from revisions:
861 861
862 862 $ hg log -Gq -r "follow(startrev=2+4)"
863 863 o 4:ddb82e70d1a1
864 864 |
865 865 | o 2:60c670bf5b30
866 866 | |
867 867 | o 1:3d5bf5654eda
868 868 |/
869 869 @ 0:67e992f2c4f3
870 870
871 871
872 872 follow the current revision:
873 873
874 874 $ hg log -Gq -r "follow()"
875 875 @ 0:67e992f2c4f3
876 876
877 877
878 878 $ hg up -qC 4
879 879
880 880 log -f -r null
881 881
882 882 $ hg log -f -r null
883 883 changeset: -1:000000000000
884 884 user:
885 885 date: Thu Jan 01 00:00:00 1970 +0000
886 886
887 887 $ hg log -f -r null -G
888 888 o changeset: -1:000000000000
889 889 user:
890 890 date: Thu Jan 01 00:00:00 1970 +0000
891 891
892 892
893 893
894 894 log -f with null parent
895 895
896 896 $ hg up -C null
897 897 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
898 898 $ hg log -f
899 899
900 900
901 901 log -r . with two parents
902 902
903 903 $ hg up -C 3
904 904 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
905 905 $ hg merge tip
906 906 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
907 907 (branch merge, don't forget to commit)
908 908 $ hg log -r .
909 909 changeset: 3:e62f78d544b4
910 910 parent: 1:3d5bf5654eda
911 911 user: test
912 912 date: Thu Jan 01 00:00:01 1970 +0000
913 913 summary: b1
914 914
915 915
916 916
917 917 log -r . with one parent
918 918
919 919 $ hg ci -mm12 -d '1 0'
920 920 $ hg log -r .
921 921 changeset: 5:302e9dd6890d
922 922 tag: tip
923 923 parent: 3:e62f78d544b4
924 924 parent: 4:ddb82e70d1a1
925 925 user: test
926 926 date: Thu Jan 01 00:00:01 1970 +0000
927 927 summary: m12
928 928
929 929
930 930 $ echo postm >> b1
931 931 $ hg ci -Amb1.1 -d'1 0'
932 932
933 933
934 934 log --follow-first
935 935
936 936 $ hg log --follow-first
937 937 changeset: 6:2404bbcab562
938 938 tag: tip
939 939 user: test
940 940 date: Thu Jan 01 00:00:01 1970 +0000
941 941 summary: b1.1
942 942
943 943 changeset: 5:302e9dd6890d
944 944 parent: 3:e62f78d544b4
945 945 parent: 4:ddb82e70d1a1
946 946 user: test
947 947 date: Thu Jan 01 00:00:01 1970 +0000
948 948 summary: m12
949 949
950 950 changeset: 3:e62f78d544b4
951 951 parent: 1:3d5bf5654eda
952 952 user: test
953 953 date: Thu Jan 01 00:00:01 1970 +0000
954 954 summary: b1
955 955
956 956 changeset: 1:3d5bf5654eda
957 957 user: test
958 958 date: Thu Jan 01 00:00:01 1970 +0000
959 959 summary: r1
960 960
961 961 changeset: 0:67e992f2c4f3
962 962 user: test
963 963 date: Thu Jan 01 00:00:01 1970 +0000
964 964 summary: base
965 965
966 966
967 967
968 968 log -P 2
969 969
970 970 $ hg log -P 2
971 971 changeset: 6:2404bbcab562
972 972 tag: tip
973 973 user: test
974 974 date: Thu Jan 01 00:00:01 1970 +0000
975 975 summary: b1.1
976 976
977 977 changeset: 5:302e9dd6890d
978 978 parent: 3:e62f78d544b4
979 979 parent: 4:ddb82e70d1a1
980 980 user: test
981 981 date: Thu Jan 01 00:00:01 1970 +0000
982 982 summary: m12
983 983
984 984 changeset: 4:ddb82e70d1a1
985 985 parent: 0:67e992f2c4f3
986 986 user: test
987 987 date: Thu Jan 01 00:00:01 1970 +0000
988 988 summary: b2
989 989
990 990 changeset: 3:e62f78d544b4
991 991 parent: 1:3d5bf5654eda
992 992 user: test
993 993 date: Thu Jan 01 00:00:01 1970 +0000
994 994 summary: b1
995 995
996 996
997 997
998 998 log -r tip -p --git
999 999
1000 1000 $ hg log -r tip -p --git
1001 1001 changeset: 6:2404bbcab562
1002 1002 tag: tip
1003 1003 user: test
1004 1004 date: Thu Jan 01 00:00:01 1970 +0000
1005 1005 summary: b1.1
1006 1006
1007 1007 diff --git a/b1 b/b1
1008 1008 --- a/b1
1009 1009 +++ b/b1
1010 1010 @@ -1,1 +1,2 @@
1011 1011 b1
1012 1012 +postm
1013 1013
1014 1014
1015 1015
1016 1016 log -r ""
1017 1017
1018 1018 $ hg log -r ''
1019 1019 hg: parse error: empty query
1020 1020 [255]
1021 1021
1022 1022 log -r <some unknown node id>
1023 1023
1024 1024 $ hg log -r 1000000000000000000000000000000000000000
1025 1025 abort: unknown revision '1000000000000000000000000000000000000000'!
1026 1026 [255]
1027 1027
1028 1028 log -k r1
1029 1029
1030 1030 $ hg log -k r1
1031 1031 changeset: 1:3d5bf5654eda
1032 1032 user: test
1033 1033 date: Thu Jan 01 00:00:01 1970 +0000
1034 1034 summary: r1
1035 1035
1036 1036 log -p -l2 --color=always
1037 1037
1038 1038 $ hg --config extensions.color= --config color.mode=ansi \
1039 1039 > log -p -l2 --color=always
1040 1040 \x1b[0;33mchangeset: 6:2404bbcab562\x1b[0m (esc)
1041 1041 tag: tip
1042 1042 user: test
1043 1043 date: Thu Jan 01 00:00:01 1970 +0000
1044 1044 summary: b1.1
1045 1045
1046 1046 \x1b[0;1mdiff -r 302e9dd6890d -r 2404bbcab562 b1\x1b[0m (esc)
1047 1047 \x1b[0;31;1m--- a/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1048 1048 \x1b[0;32;1m+++ b/b1 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1049 1049 \x1b[0;35m@@ -1,1 +1,2 @@\x1b[0m (esc)
1050 1050 b1
1051 1051 \x1b[0;32m+postm\x1b[0m (esc)
1052 1052
1053 1053 \x1b[0;33mchangeset: 5:302e9dd6890d\x1b[0m (esc)
1054 1054 parent: 3:e62f78d544b4
1055 1055 parent: 4:ddb82e70d1a1
1056 1056 user: test
1057 1057 date: Thu Jan 01 00:00:01 1970 +0000
1058 1058 summary: m12
1059 1059
1060 1060 \x1b[0;1mdiff -r e62f78d544b4 -r 302e9dd6890d b2\x1b[0m (esc)
1061 1061 \x1b[0;31;1m--- /dev/null Thu Jan 01 00:00:00 1970 +0000\x1b[0m (esc)
1062 1062 \x1b[0;32;1m+++ b/b2 Thu Jan 01 00:00:01 1970 +0000\x1b[0m (esc)
1063 1063 \x1b[0;35m@@ -0,0 +1,1 @@\x1b[0m (esc)
1064 1064 \x1b[0;32m+b2\x1b[0m (esc)
1065 1065
1066 1066
1067 1067
1068 1068 log -r tip --stat
1069 1069
1070 1070 $ hg log -r tip --stat
1071 1071 changeset: 6:2404bbcab562
1072 1072 tag: tip
1073 1073 user: test
1074 1074 date: Thu Jan 01 00:00:01 1970 +0000
1075 1075 summary: b1.1
1076 1076
1077 1077 b1 | 1 +
1078 1078 1 files changed, 1 insertions(+), 0 deletions(-)
1079 1079
1080 1080
1081 1081 $ cd ..
1082 1082
1083 1083 log --follow --patch FILE in repository where linkrev isn't trustworthy
1084 (issue5376)
1084 (issue5376, issue6124)
1085 1085
1086 1086 $ hg init follow-dup
1087 1087 $ cd follow-dup
1088 1088 $ cat <<EOF >> .hg/hgrc
1089 1089 > [ui]
1090 1090 > logtemplate = '=== {rev}: {desc}\n'
1091 1091 > [diff]
1092 1092 > nodates = True
1093 1093 > EOF
1094 1094 $ echo 0 >> a
1095 1095 $ hg ci -qAm 'a0'
1096 1096 $ echo 1 >> a
1097 1097 $ hg ci -m 'a1'
1098 1098 $ hg up -q 0
1099 1099 $ echo 1 >> a
1100 1100 $ touch b
1101 1101 $ hg ci -qAm 'a1 with b'
1102 1102 $ echo 3 >> a
1103 1103 $ hg ci -m 'a3'
1104 1104
1105 1105 fctx.rev() == 2, but fctx.linkrev() == 1
1106 1106
1107 1107 $ hg log -pf a
1108 1108 === 3: a3
1109 1109 diff -r 4ea02ba94d66 -r e7a6331a34f0 a
1110 1110 --- a/a
1111 1111 +++ b/a
1112 1112 @@ -1,2 +1,3 @@
1113 1113 0
1114 1114 1
1115 1115 +3
1116 1116
1117 1117 === 2: a1 with b
1118 1118 diff -r 49b5e81287e2 -r 4ea02ba94d66 a
1119 1119 --- a/a
1120 1120 +++ b/a
1121 1121 @@ -1,1 +1,2 @@
1122 1122 0
1123 1123 +1
1124 1124
1125 1125 === 0: a0
1126 1126 diff -r 000000000000 -r 49b5e81287e2 a
1127 1127 --- /dev/null
1128 1128 +++ b/a
1129 1129 @@ -0,0 +1,1 @@
1130 1130 +0
1131 1131
1132 $ hg log -pr . a
1133 === 3: a3
1134 diff -r 4ea02ba94d66 -r e7a6331a34f0 a
1135 --- a/a
1136 +++ b/a
1137 @@ -1,2 +1,3 @@
1138 0
1139 1
1140 +3
1141
1132 1142
1133 1143 fctx.introrev() == 2, but fctx.linkrev() == 1
1134 1144
1135 1145 $ hg up -q 2
1136 1146 $ hg log -pf a
1137 1147 === 2: a1 with b
1138 1148 diff -r 49b5e81287e2 -r 4ea02ba94d66 a
1139 1149 --- a/a
1140 1150 +++ b/a
1141 1151 @@ -1,1 +1,2 @@
1142 1152 0
1143 1153 +1
1144 1154
1145 1155 === 0: a0
1146 1156 diff -r 000000000000 -r 49b5e81287e2 a
1147 1157 --- /dev/null
1148 1158 +++ b/a
1149 1159 @@ -0,0 +1,1 @@
1150 1160 +0
1151 1161
1152 1162
1163 BROKEN: should show the same diff as for rev 2 above
1164 $ hg log -pr . a
1165
1153 1166 $ cd ..
1154 1167
1155 1168 Multiple copy sources of a file:
1156 1169
1157 1170 $ hg init follow-multi
1158 1171 $ cd follow-multi
1159 1172 $ echo 0 >> a
1160 1173 $ hg ci -qAm 'a'
1161 1174 $ hg cp a b
1162 1175 $ hg ci -m 'a->b'
1163 1176 $ echo 2 >> a
1164 1177 $ hg ci -m 'a'
1165 1178 $ echo 3 >> b
1166 1179 $ hg ci -m 'b'
1167 1180 $ echo 4 >> a
1168 1181 $ echo 4 >> b
1169 1182 $ hg ci -m 'a,b'
1170 1183 $ echo 5 >> a
1171 1184 $ hg ci -m 'a0'
1172 1185 $ echo 6 >> b
1173 1186 $ hg ci -m 'b0'
1174 1187 $ hg up -q 4
1175 1188 $ echo 7 >> b
1176 1189 $ hg ci -m 'b1'
1177 1190 created new head
1178 1191 $ echo 8 >> a
1179 1192 $ hg ci -m 'a1'
1180 1193 $ hg rm a
1181 1194 $ hg mv b a
1182 1195 $ hg ci -m 'b1->a1'
1183 1196 $ hg merge -qt :local
1184 1197 $ hg ci -m '(a0,b1->a1)->a'
1185 1198
1186 1199 $ hg log -GT '{rev}: {desc}\n'
1187 1200 @ 10: (a0,b1->a1)->a
1188 1201 |\
1189 1202 | o 9: b1->a1
1190 1203 | |
1191 1204 | o 8: a1
1192 1205 | |
1193 1206 | o 7: b1
1194 1207 | |
1195 1208 o | 6: b0
1196 1209 | |
1197 1210 o | 5: a0
1198 1211 |/
1199 1212 o 4: a,b
1200 1213 |
1201 1214 o 3: b
1202 1215 |
1203 1216 o 2: a
1204 1217 |
1205 1218 o 1: a->b
1206 1219 |
1207 1220 o 0: a
1208 1221
1209 1222
1210 1223 since file 'a' has multiple copy sources at the revision 4, ancestors can't
1211 1224 be indexed solely by fctx.linkrev().
1212 1225
1213 1226 $ hg log -T '{rev}: {desc}\n' -f a
1214 1227 10: (a0,b1->a1)->a
1215 1228 9: b1->a1
1216 1229 7: b1
1217 1230 5: a0
1218 1231 4: a,b
1219 1232 3: b
1220 1233 2: a
1221 1234 1: a->b
1222 1235 0: a
1223 1236
1224 1237 $ cd ..
1225 1238
1226 1239 Test that log should respect the order of -rREV even if multiple OR conditions
1227 1240 are specified (issue5100):
1228 1241
1229 1242 $ hg init revorder
1230 1243 $ cd revorder
1231 1244
1232 1245 $ hg branch -q b0
1233 1246 $ echo 0 >> f0
1234 1247 $ hg ci -qAm k0 -u u0
1235 1248 $ hg branch -q b1
1236 1249 $ echo 1 >> f1
1237 1250 $ hg ci -qAm k1 -u u1
1238 1251 $ hg branch -q b2
1239 1252 $ echo 2 >> f2
1240 1253 $ hg ci -qAm k2 -u u2
1241 1254
1242 1255 $ hg update -q b2
1243 1256 $ echo 3 >> f2
1244 1257 $ hg ci -qAm k2 -u u2
1245 1258 $ hg update -q b1
1246 1259 $ echo 4 >> f1
1247 1260 $ hg ci -qAm k1 -u u1
1248 1261 $ hg update -q b0
1249 1262 $ echo 5 >> f0
1250 1263 $ hg ci -qAm k0 -u u0
1251 1264
1252 1265 summary of revisions:
1253 1266
1254 1267 $ hg log -G -T '{rev} {branch} {author} {desc} {files}\n'
1255 1268 @ 5 b0 u0 k0 f0
1256 1269 |
1257 1270 | o 4 b1 u1 k1 f1
1258 1271 | |
1259 1272 | | o 3 b2 u2 k2 f2
1260 1273 | | |
1261 1274 | | o 2 b2 u2 k2 f2
1262 1275 | |/
1263 1276 | o 1 b1 u1 k1 f1
1264 1277 |/
1265 1278 o 0 b0 u0 k0 f0
1266 1279
1267 1280
1268 1281 log -b BRANCH in ascending order:
1269 1282
1270 1283 $ hg log -r0:tip -T '{rev} {branch}\n' -b b0 -b b1
1271 1284 0 b0
1272 1285 1 b1
1273 1286 4 b1
1274 1287 5 b0
1275 1288 $ hg log -r0:tip -T '{rev} {branch}\n' -b b1 -b b0
1276 1289 0 b0
1277 1290 1 b1
1278 1291 4 b1
1279 1292 5 b0
1280 1293
1281 1294 log --only-branch BRANCH in descending order:
1282 1295
1283 1296 $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b1 --only-branch b2
1284 1297 4 b1
1285 1298 3 b2
1286 1299 2 b2
1287 1300 1 b1
1288 1301 $ hg log -rtip:0 -T '{rev} {branch}\n' --only-branch b2 --only-branch b1
1289 1302 4 b1
1290 1303 3 b2
1291 1304 2 b2
1292 1305 1 b1
1293 1306
1294 1307 log -u USER in ascending order, against compound set:
1295 1308
1296 1309 $ hg log -r'::head()' -T '{rev} {author}\n' -u u0 -u u2
1297 1310 0 u0
1298 1311 2 u2
1299 1312 3 u2
1300 1313 5 u0
1301 1314 $ hg log -r'::head()' -T '{rev} {author}\n' -u u2 -u u0
1302 1315 0 u0
1303 1316 2 u2
1304 1317 3 u2
1305 1318 5 u0
1306 1319
1307 1320 log -k TEXT in descending order, against compound set:
1308 1321
1309 1322 $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k0 -k k1 -k k2
1310 1323 5 k0
1311 1324 3 k2
1312 1325 2 k2
1313 1326 1 k1
1314 1327 0 k0
1315 1328 $ hg log -r'5 + reverse(::3)' -T '{rev} {desc}\n' -k k2 -k k1 -k k0
1316 1329 5 k0
1317 1330 3 k2
1318 1331 2 k2
1319 1332 1 k1
1320 1333 0 k0
1321 1334
1322 1335 log FILE in ascending order, against dagrange:
1323 1336
1324 1337 $ hg log -r1:: -T '{rev} {files}\n' f1 f2
1325 1338 1 f1
1326 1339 2 f2
1327 1340 3 f2
1328 1341 4 f1
1329 1342 $ hg log -r1:: -T '{rev} {files}\n' f2 f1
1330 1343 1 f1
1331 1344 2 f2
1332 1345 3 f2
1333 1346 4 f1
1334 1347
1335 1348 $ cd ..
1336 1349
1337 1350 User
1338 1351
1339 1352 $ hg init usertest
1340 1353 $ cd usertest
1341 1354
1342 1355 $ echo a > a
1343 1356 $ hg ci -A -m "a" -u "User One <user1@example.org>"
1344 1357 adding a
1345 1358 $ echo b > b
1346 1359 $ hg ci -A -m "b" -u "User Two <user2@example.org>"
1347 1360 adding b
1348 1361
1349 1362 $ hg log -u "User One <user1@example.org>"
1350 1363 changeset: 0:29a4c94f1924
1351 1364 user: User One <user1@example.org>
1352 1365 date: Thu Jan 01 00:00:00 1970 +0000
1353 1366 summary: a
1354 1367
1355 1368 $ hg log -u "user1" -u "user2"
1356 1369 changeset: 1:e834b5e69c0e
1357 1370 tag: tip
1358 1371 user: User Two <user2@example.org>
1359 1372 date: Thu Jan 01 00:00:00 1970 +0000
1360 1373 summary: b
1361 1374
1362 1375 changeset: 0:29a4c94f1924
1363 1376 user: User One <user1@example.org>
1364 1377 date: Thu Jan 01 00:00:00 1970 +0000
1365 1378 summary: a
1366 1379
1367 1380 $ hg log -u "user3"
1368 1381
1369 1382 "-u USER" shouldn't be overridden by "user(USER)" alias
1370 1383
1371 1384 $ hg log --config 'revsetalias.user(x)=branch(x)' -u default
1372 1385 $ hg log --config 'revsetalias.user(x)=branch(x)' -u user1
1373 1386 changeset: 0:29a4c94f1924
1374 1387 user: User One <user1@example.org>
1375 1388 date: Thu Jan 01 00:00:00 1970 +0000
1376 1389 summary: a
1377 1390
1378 1391
1379 1392 $ cd ..
1380 1393
1381 1394 $ hg init branches
1382 1395 $ cd branches
1383 1396
1384 1397 $ echo a > a
1385 1398 $ hg ci -A -m "commit on default"
1386 1399 adding a
1387 1400 $ hg branch test
1388 1401 marked working directory as branch test
1389 1402 (branches are permanent and global, did you want a bookmark?)
1390 1403 $ echo b > b
1391 1404 $ hg ci -A -m "commit on test"
1392 1405 adding b
1393 1406
1394 1407 $ hg up default
1395 1408 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1396 1409 $ echo c > c
1397 1410 $ hg ci -A -m "commit on default"
1398 1411 adding c
1399 1412 $ hg up test
1400 1413 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1401 1414 $ echo c > c
1402 1415 $ hg ci -A -m "commit on test"
1403 1416 adding c
1404 1417
1405 1418
1406 1419 log -b default
1407 1420
1408 1421 $ hg log -b default
1409 1422 changeset: 2:c3a4f03cc9a7
1410 1423 parent: 0:24427303d56f
1411 1424 user: test
1412 1425 date: Thu Jan 01 00:00:00 1970 +0000
1413 1426 summary: commit on default
1414 1427
1415 1428 changeset: 0:24427303d56f
1416 1429 user: test
1417 1430 date: Thu Jan 01 00:00:00 1970 +0000
1418 1431 summary: commit on default
1419 1432
1420 1433
1421 1434
1422 1435 log -b test
1423 1436
1424 1437 $ hg log -b test
1425 1438 changeset: 3:f5d8de11c2e2
1426 1439 branch: test
1427 1440 tag: tip
1428 1441 parent: 1:d32277701ccb
1429 1442 user: test
1430 1443 date: Thu Jan 01 00:00:00 1970 +0000
1431 1444 summary: commit on test
1432 1445
1433 1446 changeset: 1:d32277701ccb
1434 1447 branch: test
1435 1448 user: test
1436 1449 date: Thu Jan 01 00:00:00 1970 +0000
1437 1450 summary: commit on test
1438 1451
1439 1452
1440 1453
1441 1454 log -b dummy
1442 1455
1443 1456 $ hg log -b dummy
1444 1457 abort: unknown revision 'dummy'!
1445 1458 [255]
1446 1459
1447 1460
1448 1461 log -b .
1449 1462
1450 1463 $ hg log -b .
1451 1464 changeset: 3:f5d8de11c2e2
1452 1465 branch: test
1453 1466 tag: tip
1454 1467 parent: 1:d32277701ccb
1455 1468 user: test
1456 1469 date: Thu Jan 01 00:00:00 1970 +0000
1457 1470 summary: commit on test
1458 1471
1459 1472 changeset: 1:d32277701ccb
1460 1473 branch: test
1461 1474 user: test
1462 1475 date: Thu Jan 01 00:00:00 1970 +0000
1463 1476 summary: commit on test
1464 1477
1465 1478
1466 1479
1467 1480 log -b default -b test
1468 1481
1469 1482 $ hg log -b default -b test
1470 1483 changeset: 3:f5d8de11c2e2
1471 1484 branch: test
1472 1485 tag: tip
1473 1486 parent: 1:d32277701ccb
1474 1487 user: test
1475 1488 date: Thu Jan 01 00:00:00 1970 +0000
1476 1489 summary: commit on test
1477 1490
1478 1491 changeset: 2:c3a4f03cc9a7
1479 1492 parent: 0:24427303d56f
1480 1493 user: test
1481 1494 date: Thu Jan 01 00:00:00 1970 +0000
1482 1495 summary: commit on default
1483 1496
1484 1497 changeset: 1:d32277701ccb
1485 1498 branch: test
1486 1499 user: test
1487 1500 date: Thu Jan 01 00:00:00 1970 +0000
1488 1501 summary: commit on test
1489 1502
1490 1503 changeset: 0:24427303d56f
1491 1504 user: test
1492 1505 date: Thu Jan 01 00:00:00 1970 +0000
1493 1506 summary: commit on default
1494 1507
1495 1508
1496 1509
1497 1510 log -b default -b .
1498 1511
1499 1512 $ hg log -b default -b .
1500 1513 changeset: 3:f5d8de11c2e2
1501 1514 branch: test
1502 1515 tag: tip
1503 1516 parent: 1:d32277701ccb
1504 1517 user: test
1505 1518 date: Thu Jan 01 00:00:00 1970 +0000
1506 1519 summary: commit on test
1507 1520
1508 1521 changeset: 2:c3a4f03cc9a7
1509 1522 parent: 0:24427303d56f
1510 1523 user: test
1511 1524 date: Thu Jan 01 00:00:00 1970 +0000
1512 1525 summary: commit on default
1513 1526
1514 1527 changeset: 1:d32277701ccb
1515 1528 branch: test
1516 1529 user: test
1517 1530 date: Thu Jan 01 00:00:00 1970 +0000
1518 1531 summary: commit on test
1519 1532
1520 1533 changeset: 0:24427303d56f
1521 1534 user: test
1522 1535 date: Thu Jan 01 00:00:00 1970 +0000
1523 1536 summary: commit on default
1524 1537
1525 1538
1526 1539
1527 1540 log -b . -b test
1528 1541
1529 1542 $ hg log -b . -b test
1530 1543 changeset: 3:f5d8de11c2e2
1531 1544 branch: test
1532 1545 tag: tip
1533 1546 parent: 1:d32277701ccb
1534 1547 user: test
1535 1548 date: Thu Jan 01 00:00:00 1970 +0000
1536 1549 summary: commit on test
1537 1550
1538 1551 changeset: 1:d32277701ccb
1539 1552 branch: test
1540 1553 user: test
1541 1554 date: Thu Jan 01 00:00:00 1970 +0000
1542 1555 summary: commit on test
1543 1556
1544 1557
1545 1558
1546 1559 log -b 2
1547 1560
1548 1561 $ hg log -b 2
1549 1562 changeset: 2:c3a4f03cc9a7
1550 1563 parent: 0:24427303d56f
1551 1564 user: test
1552 1565 date: Thu Jan 01 00:00:00 1970 +0000
1553 1566 summary: commit on default
1554 1567
1555 1568 changeset: 0:24427303d56f
1556 1569 user: test
1557 1570 date: Thu Jan 01 00:00:00 1970 +0000
1558 1571 summary: commit on default
1559 1572
1560 1573 #if gettext
1561 1574
1562 1575 Test that all log names are translated (e.g. branches, bookmarks, tags):
1563 1576
1564 1577 $ hg bookmark babar -r tip
1565 1578
1566 1579 $ HGENCODING=UTF-8 LANGUAGE=de hg log -r tip
1567 1580 \xc3\x84nderung: 3:f5d8de11c2e2 (esc)
1568 1581 Zweig: test
1569 1582 Lesezeichen: babar
1570 1583 Marke: tip
1571 1584 Vorg\xc3\xa4nger: 1:d32277701ccb (esc)
1572 1585 Nutzer: test
1573 1586 Datum: Thu Jan 01 00:00:00 1970 +0000
1574 1587 Zusammenfassung: commit on test
1575 1588
1576 1589 $ hg bookmark -d babar
1577 1590
1578 1591 #endif
1579 1592
1580 1593 log -p --cwd dir (in subdir)
1581 1594
1582 1595 $ mkdir dir
1583 1596 $ hg log -p --cwd dir
1584 1597 changeset: 3:f5d8de11c2e2
1585 1598 branch: test
1586 1599 tag: tip
1587 1600 parent: 1:d32277701ccb
1588 1601 user: test
1589 1602 date: Thu Jan 01 00:00:00 1970 +0000
1590 1603 summary: commit on test
1591 1604
1592 1605 diff -r d32277701ccb -r f5d8de11c2e2 c
1593 1606 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1594 1607 +++ b/c Thu Jan 01 00:00:00 1970 +0000
1595 1608 @@ -0,0 +1,1 @@
1596 1609 +c
1597 1610
1598 1611 changeset: 2:c3a4f03cc9a7
1599 1612 parent: 0:24427303d56f
1600 1613 user: test
1601 1614 date: Thu Jan 01 00:00:00 1970 +0000
1602 1615 summary: commit on default
1603 1616
1604 1617 diff -r 24427303d56f -r c3a4f03cc9a7 c
1605 1618 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1606 1619 +++ b/c Thu Jan 01 00:00:00 1970 +0000
1607 1620 @@ -0,0 +1,1 @@
1608 1621 +c
1609 1622
1610 1623 changeset: 1:d32277701ccb
1611 1624 branch: test
1612 1625 user: test
1613 1626 date: Thu Jan 01 00:00:00 1970 +0000
1614 1627 summary: commit on test
1615 1628
1616 1629 diff -r 24427303d56f -r d32277701ccb b
1617 1630 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1618 1631 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1619 1632 @@ -0,0 +1,1 @@
1620 1633 +b
1621 1634
1622 1635 changeset: 0:24427303d56f
1623 1636 user: test
1624 1637 date: Thu Jan 01 00:00:00 1970 +0000
1625 1638 summary: commit on default
1626 1639
1627 1640 diff -r 000000000000 -r 24427303d56f a
1628 1641 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1629 1642 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1630 1643 @@ -0,0 +1,1 @@
1631 1644 +a
1632 1645
1633 1646
1634 1647
1635 1648 log -p -R repo
1636 1649
1637 1650 $ cd dir
1638 1651 $ hg log -p -R .. ../a
1639 1652 changeset: 0:24427303d56f
1640 1653 user: test
1641 1654 date: Thu Jan 01 00:00:00 1970 +0000
1642 1655 summary: commit on default
1643 1656
1644 1657 diff -r 000000000000 -r 24427303d56f a
1645 1658 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1646 1659 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1647 1660 @@ -0,0 +1,1 @@
1648 1661 +a
1649 1662
1650 1663
1651 1664 $ cd ../..
1652 1665
1653 1666 $ hg init follow2
1654 1667 $ cd follow2
1655 1668
1656 1669 # Build the following history:
1657 1670 # tip - o - x - o - x - x
1658 1671 # \ /
1659 1672 # o - o - o - x
1660 1673 # \ /
1661 1674 # o
1662 1675 #
1663 1676 # Where "o" is a revision containing "foo" and
1664 1677 # "x" is a revision without "foo"
1665 1678
1666 1679 $ touch init
1667 1680 $ hg ci -A -m "init, unrelated"
1668 1681 adding init
1669 1682 $ echo 'foo' > init
1670 1683 $ hg ci -m "change, unrelated"
1671 1684 $ echo 'foo' > foo
1672 1685 $ hg ci -A -m "add unrelated old foo"
1673 1686 adding foo
1674 1687 $ hg rm foo
1675 1688 $ hg ci -m "delete foo, unrelated"
1676 1689 $ echo 'related' > foo
1677 1690 $ hg ci -A -m "add foo, related"
1678 1691 adding foo
1679 1692
1680 1693 $ hg up 0
1681 1694 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1682 1695 $ touch branch
1683 1696 $ hg ci -A -m "first branch, unrelated"
1684 1697 adding branch
1685 1698 created new head
1686 1699 $ touch foo
1687 1700 $ hg ci -A -m "create foo, related"
1688 1701 adding foo
1689 1702 $ echo 'change' > foo
1690 1703 $ hg ci -m "change foo, related"
1691 1704
1692 1705 $ hg up 6
1693 1706 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1694 1707 $ echo 'change foo in branch' > foo
1695 1708 $ hg ci -m "change foo in branch, related"
1696 1709 created new head
1697 1710 $ hg merge 7
1698 1711 merging foo
1699 1712 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
1700 1713 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
1701 1714 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1702 1715 [1]
1703 1716 $ echo 'merge 1' > foo
1704 1717 $ hg resolve -m foo
1705 1718 (no more unresolved files)
1706 1719 $ hg ci -m "First merge, related"
1707 1720
1708 1721 $ hg merge 4
1709 1722 merging foo
1710 1723 warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
1711 1724 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
1712 1725 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
1713 1726 [1]
1714 1727 $ echo 'merge 2' > foo
1715 1728 $ hg resolve -m foo
1716 1729 (no more unresolved files)
1717 1730 $ hg ci -m "Last merge, related"
1718 1731
1719 1732 $ hg log --graph
1720 1733 @ changeset: 10:4dae8563d2c5
1721 1734 |\ tag: tip
1722 1735 | | parent: 9:7b35701b003e
1723 1736 | | parent: 4:88176d361b69
1724 1737 | | user: test
1725 1738 | | date: Thu Jan 01 00:00:00 1970 +0000
1726 1739 | | summary: Last merge, related
1727 1740 | |
1728 1741 | o changeset: 9:7b35701b003e
1729 1742 | |\ parent: 8:e5416ad8a855
1730 1743 | | | parent: 7:87fe3144dcfa
1731 1744 | | | user: test
1732 1745 | | | date: Thu Jan 01 00:00:00 1970 +0000
1733 1746 | | | summary: First merge, related
1734 1747 | | |
1735 1748 | | o changeset: 8:e5416ad8a855
1736 1749 | | | parent: 6:dc6c325fe5ee
1737 1750 | | | user: test
1738 1751 | | | date: Thu Jan 01 00:00:00 1970 +0000
1739 1752 | | | summary: change foo in branch, related
1740 1753 | | |
1741 1754 | o | changeset: 7:87fe3144dcfa
1742 1755 | |/ user: test
1743 1756 | | date: Thu Jan 01 00:00:00 1970 +0000
1744 1757 | | summary: change foo, related
1745 1758 | |
1746 1759 | o changeset: 6:dc6c325fe5ee
1747 1760 | | user: test
1748 1761 | | date: Thu Jan 01 00:00:00 1970 +0000
1749 1762 | | summary: create foo, related
1750 1763 | |
1751 1764 | o changeset: 5:73db34516eb9
1752 1765 | | parent: 0:e87515fd044a
1753 1766 | | user: test
1754 1767 | | date: Thu Jan 01 00:00:00 1970 +0000
1755 1768 | | summary: first branch, unrelated
1756 1769 | |
1757 1770 o | changeset: 4:88176d361b69
1758 1771 | | user: test
1759 1772 | | date: Thu Jan 01 00:00:00 1970 +0000
1760 1773 | | summary: add foo, related
1761 1774 | |
1762 1775 o | changeset: 3:dd78ae4afb56
1763 1776 | | user: test
1764 1777 | | date: Thu Jan 01 00:00:00 1970 +0000
1765 1778 | | summary: delete foo, unrelated
1766 1779 | |
1767 1780 o | changeset: 2:c4c64aedf0f7
1768 1781 | | user: test
1769 1782 | | date: Thu Jan 01 00:00:00 1970 +0000
1770 1783 | | summary: add unrelated old foo
1771 1784 | |
1772 1785 o | changeset: 1:e5faa7440653
1773 1786 |/ user: test
1774 1787 | date: Thu Jan 01 00:00:00 1970 +0000
1775 1788 | summary: change, unrelated
1776 1789 |
1777 1790 o changeset: 0:e87515fd044a
1778 1791 user: test
1779 1792 date: Thu Jan 01 00:00:00 1970 +0000
1780 1793 summary: init, unrelated
1781 1794
1782 1795
1783 1796 $ hg --traceback log -f foo
1784 1797 changeset: 10:4dae8563d2c5
1785 1798 tag: tip
1786 1799 parent: 9:7b35701b003e
1787 1800 parent: 4:88176d361b69
1788 1801 user: test
1789 1802 date: Thu Jan 01 00:00:00 1970 +0000
1790 1803 summary: Last merge, related
1791 1804
1792 1805 changeset: 9:7b35701b003e
1793 1806 parent: 8:e5416ad8a855
1794 1807 parent: 7:87fe3144dcfa
1795 1808 user: test
1796 1809 date: Thu Jan 01 00:00:00 1970 +0000
1797 1810 summary: First merge, related
1798 1811
1799 1812 changeset: 8:e5416ad8a855
1800 1813 parent: 6:dc6c325fe5ee
1801 1814 user: test
1802 1815 date: Thu Jan 01 00:00:00 1970 +0000
1803 1816 summary: change foo in branch, related
1804 1817
1805 1818 changeset: 7:87fe3144dcfa
1806 1819 user: test
1807 1820 date: Thu Jan 01 00:00:00 1970 +0000
1808 1821 summary: change foo, related
1809 1822
1810 1823 changeset: 6:dc6c325fe5ee
1811 1824 user: test
1812 1825 date: Thu Jan 01 00:00:00 1970 +0000
1813 1826 summary: create foo, related
1814 1827
1815 1828 changeset: 4:88176d361b69
1816 1829 user: test
1817 1830 date: Thu Jan 01 00:00:00 1970 +0000
1818 1831 summary: add foo, related
1819 1832
1820 1833
1821 1834 Also check when maxrev < lastrevfilelog
1822 1835
1823 1836 $ hg --traceback log -f -r4 foo
1824 1837 changeset: 4:88176d361b69
1825 1838 user: test
1826 1839 date: Thu Jan 01 00:00:00 1970 +0000
1827 1840 summary: add foo, related
1828 1841
1829 1842 $ cd ..
1830 1843
1831 1844 Issue2383: hg log showing _less_ differences than hg diff
1832 1845
1833 1846 $ hg init issue2383
1834 1847 $ cd issue2383
1835 1848
1836 1849 Create a test repo:
1837 1850
1838 1851 $ echo a > a
1839 1852 $ hg ci -Am0
1840 1853 adding a
1841 1854 $ echo b > b
1842 1855 $ hg ci -Am1
1843 1856 adding b
1844 1857 $ hg co 0
1845 1858 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1846 1859 $ echo b > a
1847 1860 $ hg ci -m2
1848 1861 created new head
1849 1862
1850 1863 Merge:
1851 1864
1852 1865 $ hg merge
1853 1866 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1854 1867 (branch merge, don't forget to commit)
1855 1868
1856 1869 Make sure there's a file listed in the merge to trigger the bug:
1857 1870
1858 1871 $ echo c > a
1859 1872 $ hg ci -m3
1860 1873
1861 1874 Two files shown here in diff:
1862 1875
1863 1876 $ hg diff --rev 2:3
1864 1877 diff -r b09be438c43a -r 8e07aafe1edc a
1865 1878 --- a/a Thu Jan 01 00:00:00 1970 +0000
1866 1879 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1867 1880 @@ -1,1 +1,1 @@
1868 1881 -b
1869 1882 +c
1870 1883 diff -r b09be438c43a -r 8e07aafe1edc b
1871 1884 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1872 1885 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1873 1886 @@ -0,0 +1,1 @@
1874 1887 +b
1875 1888
1876 1889 Diff here should be the same:
1877 1890
1878 1891 $ hg log -vpr 3
1879 1892 changeset: 3:8e07aafe1edc
1880 1893 tag: tip
1881 1894 parent: 2:b09be438c43a
1882 1895 parent: 1:925d80f479bb
1883 1896 user: test
1884 1897 date: Thu Jan 01 00:00:00 1970 +0000
1885 1898 files: a
1886 1899 description:
1887 1900 3
1888 1901
1889 1902
1890 1903 diff -r b09be438c43a -r 8e07aafe1edc a
1891 1904 --- a/a Thu Jan 01 00:00:00 1970 +0000
1892 1905 +++ b/a Thu Jan 01 00:00:00 1970 +0000
1893 1906 @@ -1,1 +1,1 @@
1894 1907 -b
1895 1908 +c
1896 1909 diff -r b09be438c43a -r 8e07aafe1edc b
1897 1910 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1898 1911 +++ b/b Thu Jan 01 00:00:00 1970 +0000
1899 1912 @@ -0,0 +1,1 @@
1900 1913 +b
1901 1914
1902 1915 $ cd ..
1903 1916
1904 1917 'hg log -r rev fn' when last(filelog(fn)) != rev
1905 1918
1906 1919 $ hg init simplelog
1907 1920 $ cd simplelog
1908 1921 $ echo f > a
1909 1922 $ hg ci -Am'a' -d '0 0'
1910 1923 adding a
1911 1924 $ echo f >> a
1912 1925 $ hg ci -Am'a bis' -d '1 0'
1913 1926
1914 1927 $ hg log -r0 a
1915 1928 changeset: 0:9f758d63dcde
1916 1929 user: test
1917 1930 date: Thu Jan 01 00:00:00 1970 +0000
1918 1931 summary: a
1919 1932
1920 1933 enable obsolete to test hidden feature
1921 1934
1922 1935 $ cat >> $HGRCPATH << EOF
1923 1936 > [experimental]
1924 1937 > evolution.createmarkers=True
1925 1938 > EOF
1926 1939
1927 1940 $ hg log --template='{rev}:{node}\n'
1928 1941 1:a765632148dc55d38c35c4f247c618701886cb2f
1929 1942 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1930 1943 $ hg debugobsolete a765632148dc55d38c35c4f247c618701886cb2f
1931 1944 obsoleted 1 changesets
1932 1945 $ hg up null -q
1933 1946 $ hg log --template='{rev}:{node}\n'
1934 1947 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1935 1948 $ hg log --template='{rev}:{node}\n' --hidden
1936 1949 1:a765632148dc55d38c35c4f247c618701886cb2f
1937 1950 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1938 1951 $ hg log -r a
1939 1952 abort: hidden revision 'a' is pruned!
1940 1953 (use --hidden to access hidden revisions)
1941 1954 [255]
1942 1955
1943 1956 test that parent prevent a changeset to be hidden
1944 1957
1945 1958 $ hg up 1 -q --hidden
1946 1959 updated to hidden changeset a765632148dc
1947 1960 (hidden revision 'a765632148dc' is pruned)
1948 1961 $ hg log --template='{rev}:{node}\n'
1949 1962 1:a765632148dc55d38c35c4f247c618701886cb2f
1950 1963 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1951 1964
1952 1965 test that second parent prevent a changeset to be hidden too
1953 1966
1954 1967 $ hg debugsetparents 0 1 # nothing suitable to merge here
1955 1968 $ hg log --template='{rev}:{node}\n'
1956 1969 1:a765632148dc55d38c35c4f247c618701886cb2f
1957 1970 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1958 1971 $ hg debugsetparents 1
1959 1972 $ hg up -q null
1960 1973
1961 1974 bookmarks prevent a changeset being hidden
1962 1975
1963 1976 $ hg bookmark --hidden -r 1 X
1964 1977 bookmarking hidden changeset a765632148dc
1965 1978 (hidden revision 'a765632148dc' is pruned)
1966 1979 $ hg log --template '{rev}:{node}\n'
1967 1980 1:a765632148dc55d38c35c4f247c618701886cb2f
1968 1981 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1969 1982 $ hg bookmark -d X
1970 1983
1971 1984 divergent bookmarks are not hidden
1972 1985
1973 1986 $ hg bookmark --hidden -r 1 X@foo
1974 1987 bookmarking hidden changeset a765632148dc
1975 1988 (hidden revision 'a765632148dc' is pruned)
1976 1989 $ hg log --template '{rev}:{node}\n'
1977 1990 1:a765632148dc55d38c35c4f247c618701886cb2f
1978 1991 0:9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1979 1992
1980 1993 test hidden revision 0 (issue5385)
1981 1994
1982 1995 $ hg bookmark -d X@foo
1983 1996 $ hg up null -q
1984 1997 $ hg debugobsolete 9f758d63dcde62d547ebfb08e1e7ee96535f2b05
1985 1998 obsoleted 1 changesets
1986 1999 $ echo f > b
1987 2000 $ hg ci -Am'b' -d '2 0'
1988 2001 adding b
1989 2002 $ echo f >> b
1990 2003 $ hg ci -m'b bis' -d '3 0'
1991 2004 $ hg log -T'{rev}:{node}\n'
1992 2005 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1993 2006 2:94375ec45bddd2a824535fc04855bd058c926ec0
1994 2007
1995 2008 $ hg log -T'{rev}:{node}\n' -r:
1996 2009 2:94375ec45bddd2a824535fc04855bd058c926ec0
1997 2010 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
1998 2011 $ hg log -T'{rev}:{node}\n' -r:tip
1999 2012 2:94375ec45bddd2a824535fc04855bd058c926ec0
2000 2013 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
2001 2014 $ hg log -T'{rev}:{node}\n' -r:0
2002 2015 abort: hidden revision '0' is pruned!
2003 2016 (use --hidden to access hidden revisions)
2004 2017 [255]
2005 2018 $ hg log -T'{rev}:{node}\n' -f
2006 2019 3:d7d28b288a6b83d5d2cf49f10c5974deed3a1d2e
2007 2020 2:94375ec45bddd2a824535fc04855bd058c926ec0
2008 2021
2009 2022 clear extensions configuration
2010 2023 $ echo '[extensions]' >> $HGRCPATH
2011 2024 $ echo "obs=!" >> $HGRCPATH
2012 2025 $ cd ..
2013 2026
2014 2027 test -u/-k for problematic encoding
2015 2028 # unicode: cp932:
2016 2029 # u30A2 0x83 0x41(= 'A')
2017 2030 # u30C2 0x83 0x61(= 'a')
2018 2031
2019 2032 $ hg init problematicencoding
2020 2033 $ cd problematicencoding
2021 2034
2022 2035 >>> with open('setup.sh', 'wb') as f:
2023 2036 ... f.write(u'''
2024 2037 ... echo a > text
2025 2038 ... hg add text
2026 2039 ... hg --encoding utf-8 commit -u '\u30A2' -m none
2027 2040 ... echo b > text
2028 2041 ... hg --encoding utf-8 commit -u '\u30C2' -m none
2029 2042 ... echo c > text
2030 2043 ... hg --encoding utf-8 commit -u none -m '\u30A2'
2031 2044 ... echo d > text
2032 2045 ... hg --encoding utf-8 commit -u none -m '\u30C2'
2033 2046 ... '''.encode('utf-8')) and None
2034 2047 $ sh < setup.sh
2035 2048
2036 2049 test in problematic encoding
2037 2050 >>> with open('test.sh', 'wb') as f:
2038 2051 ... f.write(u'''
2039 2052 ... hg --encoding cp932 log --template '{rev}\\n' -u '\u30A2'
2040 2053 ... echo ====
2041 2054 ... hg --encoding cp932 log --template '{rev}\\n' -u '\u30C2'
2042 2055 ... echo ====
2043 2056 ... hg --encoding cp932 log --template '{rev}\\n' -k '\u30A2'
2044 2057 ... echo ====
2045 2058 ... hg --encoding cp932 log --template '{rev}\\n' -k '\u30C2'
2046 2059 ... '''.encode('cp932')) and None
2047 2060 $ sh < test.sh
2048 2061 0
2049 2062 ====
2050 2063 1
2051 2064 ====
2052 2065 2
2053 2066 0
2054 2067 ====
2055 2068 3
2056 2069 1
2057 2070
2058 2071 $ cd ..
2059 2072
2060 2073 test hg log on non-existent files and on directories
2061 2074 $ hg init issue1340
2062 2075 $ cd issue1340
2063 2076 $ mkdir d1; mkdir D2; mkdir D3.i; mkdir d4.hg; mkdir d5.d; mkdir .d6
2064 2077 $ echo 1 > d1/f1
2065 2078 $ echo 1 > D2/f1
2066 2079 $ echo 1 > D3.i/f1
2067 2080 $ echo 1 > d4.hg/f1
2068 2081 $ echo 1 > d5.d/f1
2069 2082 $ echo 1 > .d6/f1
2070 2083 $ hg -q add .
2071 2084 $ hg commit -m "a bunch of weird directories"
2072 2085 $ hg log -l1 d1/f1 | grep changeset
2073 2086 changeset: 0:65624cd9070a
2074 2087 $ hg log -l1 f1
2075 2088 $ hg log -l1 . | grep changeset
2076 2089 changeset: 0:65624cd9070a
2077 2090 $ hg log -l1 ./ | grep changeset
2078 2091 changeset: 0:65624cd9070a
2079 2092 $ hg log -l1 d1 | grep changeset
2080 2093 changeset: 0:65624cd9070a
2081 2094 $ hg log -l1 D2 | grep changeset
2082 2095 changeset: 0:65624cd9070a
2083 2096 $ hg log -l1 D2/f1 | grep changeset
2084 2097 changeset: 0:65624cd9070a
2085 2098 $ hg log -l1 D3.i | grep changeset
2086 2099 changeset: 0:65624cd9070a
2087 2100 $ hg log -l1 D3.i/f1 | grep changeset
2088 2101 changeset: 0:65624cd9070a
2089 2102 $ hg log -l1 d4.hg | grep changeset
2090 2103 changeset: 0:65624cd9070a
2091 2104 $ hg log -l1 d4.hg/f1 | grep changeset
2092 2105 changeset: 0:65624cd9070a
2093 2106 $ hg log -l1 d5.d | grep changeset
2094 2107 changeset: 0:65624cd9070a
2095 2108 $ hg log -l1 d5.d/f1 | grep changeset
2096 2109 changeset: 0:65624cd9070a
2097 2110 $ hg log -l1 .d6 | grep changeset
2098 2111 changeset: 0:65624cd9070a
2099 2112 $ hg log -l1 .d6/f1 | grep changeset
2100 2113 changeset: 0:65624cd9070a
2101 2114
2102 2115 issue3772: hg log -r :null showing revision 0 as well
2103 2116
2104 2117 $ hg log -r :null
2105 2118 changeset: 0:65624cd9070a
2106 2119 tag: tip
2107 2120 user: test
2108 2121 date: Thu Jan 01 00:00:00 1970 +0000
2109 2122 summary: a bunch of weird directories
2110 2123
2111 2124 changeset: -1:000000000000
2112 2125 user:
2113 2126 date: Thu Jan 01 00:00:00 1970 +0000
2114 2127
2115 2128 $ hg log -r null:null
2116 2129 changeset: -1:000000000000
2117 2130 user:
2118 2131 date: Thu Jan 01 00:00:00 1970 +0000
2119 2132
2120 2133 working-directory revision requires special treatment
2121 2134
2122 2135 clean:
2123 2136
2124 2137 $ hg log -r 'wdir()' --debug
2125 2138 changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2126 2139 phase: draft
2127 2140 parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08
2128 2141 parent: -1:0000000000000000000000000000000000000000
2129 2142 manifest: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2130 2143 user: test
2131 2144 date: [A-Za-z0-9:+ ]+ (re)
2132 2145 extra: branch=default
2133 2146
2134 2147 $ hg log -r 'wdir()' -p --stat
2135 2148 changeset: 2147483647:ffffffffffff
2136 2149 parent: 0:65624cd9070a
2137 2150 user: test
2138 2151 date: [A-Za-z0-9:+ ]+ (re)
2139 2152
2140 2153
2141 2154
2142 2155
2143 2156 dirty:
2144 2157
2145 2158 $ echo 2 >> d1/f1
2146 2159 $ echo 2 > d1/f2
2147 2160 $ hg add d1/f2
2148 2161 $ hg remove .d6/f1
2149 2162 $ hg status
2150 2163 M d1/f1
2151 2164 A d1/f2
2152 2165 R .d6/f1
2153 2166
2154 2167 $ hg log -r 'wdir()'
2155 2168 changeset: 2147483647:ffffffffffff
2156 2169 parent: 0:65624cd9070a
2157 2170 user: test
2158 2171 date: [A-Za-z0-9:+ ]+ (re)
2159 2172
2160 2173 $ hg log -r 'wdir()' -q
2161 2174 2147483647:ffffffffffff
2162 2175
2163 2176 $ hg log -r 'wdir()' --debug
2164 2177 changeset: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2165 2178 phase: draft
2166 2179 parent: 0:65624cd9070a035fa7191a54f2b8af39f16b0c08
2167 2180 parent: -1:0000000000000000000000000000000000000000
2168 2181 manifest: 2147483647:ffffffffffffffffffffffffffffffffffffffff
2169 2182 user: test
2170 2183 date: [A-Za-z0-9:+ ]+ (re)
2171 2184 files: d1/f1
2172 2185 files+: d1/f2
2173 2186 files-: .d6/f1
2174 2187 extra: branch=default
2175 2188
2176 2189 $ hg log -r 'wdir()' -p --stat --git
2177 2190 changeset: 2147483647:ffffffffffff
2178 2191 parent: 0:65624cd9070a
2179 2192 user: test
2180 2193 date: [A-Za-z0-9:+ ]+ (re)
2181 2194
2182 2195 .d6/f1 | 1 -
2183 2196 d1/f1 | 1 +
2184 2197 d1/f2 | 1 +
2185 2198 3 files changed, 2 insertions(+), 1 deletions(-)
2186 2199
2187 2200 diff --git a/.d6/f1 b/.d6/f1
2188 2201 deleted file mode 100644
2189 2202 --- a/.d6/f1
2190 2203 +++ /dev/null
2191 2204 @@ -1,1 +0,0 @@
2192 2205 -1
2193 2206 diff --git a/d1/f1 b/d1/f1
2194 2207 --- a/d1/f1
2195 2208 +++ b/d1/f1
2196 2209 @@ -1,1 +1,2 @@
2197 2210 1
2198 2211 +2
2199 2212 diff --git a/d1/f2 b/d1/f2
2200 2213 new file mode 100644
2201 2214 --- /dev/null
2202 2215 +++ b/d1/f2
2203 2216 @@ -0,0 +1,1 @@
2204 2217 +2
2205 2218
2206 2219 $ hg log -r 'wdir()' -Tjson
2207 2220 [
2208 2221 {
2209 2222 "bookmarks": [],
2210 2223 "branch": "default",
2211 2224 "date": [*, 0], (glob)
2212 2225 "desc": "",
2213 2226 "node": "ffffffffffffffffffffffffffffffffffffffff",
2214 2227 "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"],
2215 2228 "phase": "draft",
2216 2229 "rev": 2147483647,
2217 2230 "tags": [],
2218 2231 "user": "test"
2219 2232 }
2220 2233 ]
2221 2234
2222 2235 $ hg log -r 'wdir()' -Tjson -q
2223 2236 [
2224 2237 {
2225 2238 "node": "ffffffffffffffffffffffffffffffffffffffff",
2226 2239 "rev": 2147483647
2227 2240 }
2228 2241 ]
2229 2242
2230 2243 $ hg log -r 'wdir()' -Tjson --debug
2231 2244 [
2232 2245 {
2233 2246 "added": ["d1/f2"],
2234 2247 "bookmarks": [],
2235 2248 "branch": "default",
2236 2249 "date": [*, 0], (glob)
2237 2250 "desc": "",
2238 2251 "extra": {"branch": "default"},
2239 2252 "manifest": "ffffffffffffffffffffffffffffffffffffffff",
2240 2253 "modified": ["d1/f1"],
2241 2254 "node": "ffffffffffffffffffffffffffffffffffffffff",
2242 2255 "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"],
2243 2256 "phase": "draft",
2244 2257 "removed": [".d6/f1"],
2245 2258 "rev": 2147483647,
2246 2259 "tags": [],
2247 2260 "user": "test"
2248 2261 }
2249 2262 ]
2250 2263
2251 2264 $ hg revert -aqC
2252 2265
2253 2266 Check that adding an arbitrary name shows up in log automatically
2254 2267
2255 2268 $ cat > ../names.py <<EOF
2256 2269 > """A small extension to test adding arbitrary names to a repo"""
2257 2270 > from __future__ import absolute_import
2258 2271 > from mercurial import namespaces
2259 2272 >
2260 2273 > def reposetup(ui, repo):
2261 2274 > foo = {b'foo': repo[0].node()}
2262 2275 > names = lambda r: foo.keys()
2263 2276 > namemap = lambda r, name: foo.get(name)
2264 2277 > nodemap = lambda r, node: [name for name, n in foo.items()
2265 2278 > if n == node]
2266 2279 > ns = namespaces.namespace(
2267 2280 > b"bars", templatename=b"bar", logname=b"barlog",
2268 2281 > colorname=b"barcolor", listnames=names, namemap=namemap,
2269 2282 > nodemap=nodemap)
2270 2283 >
2271 2284 > repo.names.addnamespace(ns)
2272 2285 > EOF
2273 2286
2274 2287 $ hg --config extensions.names=../names.py log -r 0
2275 2288 changeset: 0:65624cd9070a
2276 2289 tag: tip
2277 2290 barlog: foo
2278 2291 user: test
2279 2292 date: Thu Jan 01 00:00:00 1970 +0000
2280 2293 summary: a bunch of weird directories
2281 2294
2282 2295 $ hg --config extensions.names=../names.py \
2283 2296 > --config extensions.color= --config color.log.barcolor=red \
2284 2297 > --color=always log -r 0
2285 2298 \x1b[0;33mchangeset: 0:65624cd9070a\x1b[0m (esc)
2286 2299 tag: tip
2287 2300 \x1b[0;31mbarlog: foo\x1b[0m (esc)
2288 2301 user: test
2289 2302 date: Thu Jan 01 00:00:00 1970 +0000
2290 2303 summary: a bunch of weird directories
2291 2304
2292 2305 $ hg --config extensions.names=../names.py log -r 0 --template '{bars}\n'
2293 2306 foo
2294 2307
2295 2308 Templater parse errors:
2296 2309
2297 2310 simple error
2298 2311 $ hg log -r . -T '{shortest(node}'
2299 2312 hg: parse error at 14: unexpected token: end
2300 2313 ({shortest(node}
2301 2314 ^ here)
2302 2315 [255]
2303 2316
2304 2317 multi-line template with error
2305 2318 $ hg log -r . -T 'line 1
2306 2319 > line2
2307 2320 > {shortest(node}
2308 2321 > line4\nline5'
2309 2322 hg: parse error at 27: unexpected token: end
2310 2323 (line 1\nline2\n{shortest(node}\nline4\nline5
2311 2324 ^ here)
2312 2325 [255]
2313 2326
2314 2327 $ cd ..
2315 2328
2316 2329 hg log -f dir across branches
2317 2330
2318 2331 $ hg init acrossbranches
2319 2332 $ cd acrossbranches
2320 2333 $ mkdir d
2321 2334 $ echo a > d/a && hg ci -Aqm a
2322 2335 $ echo b > d/a && hg ci -Aqm b
2323 2336 $ hg up -q 0
2324 2337 $ echo b > d/a && hg ci -Aqm c
2325 2338 $ hg log -f d -T '{desc}' -G
2326 2339 @ c
2327 2340 |
2328 2341 o a
2329 2342
2330 2343 Ensure that largefiles doesn't interfere with following a normal file
2331 2344 $ hg --config extensions.largefiles= log -f d -T '{desc}' -G
2332 2345 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
2333 2346 @ c
2334 2347 |
2335 2348 o a
2336 2349
2337 2350 $ hg log -f d/a -T '{desc}' -G
2338 2351 @ c
2339 2352 |
2340 2353 o a
2341 2354
2342 2355 $ cd ..
2343 2356
2344 2357 hg log -f with linkrev pointing to another branch
2345 2358 -------------------------------------------------
2346 2359
2347 2360 create history with a filerev whose linkrev points to another branch
2348 2361
2349 2362 $ hg init branchedlinkrev
2350 2363 $ cd branchedlinkrev
2351 2364 $ echo 1 > a
2352 2365 $ hg commit -Am 'content1'
2353 2366 adding a
2354 2367 $ echo 2 > a
2355 2368 $ hg commit -m 'content2'
2356 2369 $ hg up --rev 'desc(content1)'
2357 2370 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2358 2371 $ echo unrelated > unrelated
2359 2372 $ hg commit -Am 'unrelated'
2360 2373 adding unrelated
2361 2374 created new head
2362 2375 $ hg graft -r 'desc(content2)'
2363 2376 grafting 1:2294ae80ad84 "content2"
2364 2377 $ echo 3 > a
2365 2378 $ hg commit -m 'content3'
2366 2379 $ hg log -G
2367 2380 @ changeset: 4:50b9b36e9c5d
2368 2381 | tag: tip
2369 2382 | user: test
2370 2383 | date: Thu Jan 01 00:00:00 1970 +0000
2371 2384 | summary: content3
2372 2385 |
2373 2386 o changeset: 3:15b2327059e5
2374 2387 | user: test
2375 2388 | date: Thu Jan 01 00:00:00 1970 +0000
2376 2389 | summary: content2
2377 2390 |
2378 2391 o changeset: 2:2029acd1168c
2379 2392 | parent: 0:ae0a3c9f9e95
2380 2393 | user: test
2381 2394 | date: Thu Jan 01 00:00:00 1970 +0000
2382 2395 | summary: unrelated
2383 2396 |
2384 2397 | o changeset: 1:2294ae80ad84
2385 2398 |/ user: test
2386 2399 | date: Thu Jan 01 00:00:00 1970 +0000
2387 2400 | summary: content2
2388 2401 |
2389 2402 o changeset: 0:ae0a3c9f9e95
2390 2403 user: test
2391 2404 date: Thu Jan 01 00:00:00 1970 +0000
2392 2405 summary: content1
2393 2406
2394 2407
2395 2408 log -f on the file should list the graft result.
2396 2409
2397 2410 $ hg log -Gf a
2398 2411 @ changeset: 4:50b9b36e9c5d
2399 2412 | tag: tip
2400 2413 | user: test
2401 2414 | date: Thu Jan 01 00:00:00 1970 +0000
2402 2415 | summary: content3
2403 2416 |
2404 2417 o changeset: 3:15b2327059e5
2405 2418 : user: test
2406 2419 : date: Thu Jan 01 00:00:00 1970 +0000
2407 2420 : summary: content2
2408 2421 :
2409 2422 o changeset: 0:ae0a3c9f9e95
2410 2423 user: test
2411 2424 date: Thu Jan 01 00:00:00 1970 +0000
2412 2425 summary: content1
2413 2426
2414 2427
2415 2428 plain log lists the original version
2416 2429 (XXX we should probably list both)
2417 2430
2418 2431 $ hg log -G a
2419 2432 @ changeset: 4:50b9b36e9c5d
2420 2433 : tag: tip
2421 2434 : user: test
2422 2435 : date: Thu Jan 01 00:00:00 1970 +0000
2423 2436 : summary: content3
2424 2437 :
2425 2438 : o changeset: 1:2294ae80ad84
2426 2439 :/ user: test
2427 2440 : date: Thu Jan 01 00:00:00 1970 +0000
2428 2441 : summary: content2
2429 2442 :
2430 2443 o changeset: 0:ae0a3c9f9e95
2431 2444 user: test
2432 2445 date: Thu Jan 01 00:00:00 1970 +0000
2433 2446 summary: content1
2434 2447
2435 2448
2436 2449 hg log -f from the grafted changeset
2437 2450 (The bootstrap should properly take the topology in account)
2438 2451
2439 2452 $ hg up 'desc(content3)^'
2440 2453 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2441 2454 $ hg log -Gf a
2442 2455 @ changeset: 3:15b2327059e5
2443 2456 : user: test
2444 2457 : date: Thu Jan 01 00:00:00 1970 +0000
2445 2458 : summary: content2
2446 2459 :
2447 2460 o changeset: 0:ae0a3c9f9e95
2448 2461 user: test
2449 2462 date: Thu Jan 01 00:00:00 1970 +0000
2450 2463 summary: content1
2451 2464
2452 2465
2453 2466 Test that we use the first non-hidden changeset in that case.
2454 2467
2455 2468 (hide the changeset)
2456 2469
2457 2470 $ hg log -T '{node}\n' -r 1
2458 2471 2294ae80ad8447bc78383182eeac50cb049df623
2459 2472 $ hg debugobsolete 2294ae80ad8447bc78383182eeac50cb049df623
2460 2473 obsoleted 1 changesets
2461 2474 $ hg log -G
2462 2475 o changeset: 4:50b9b36e9c5d
2463 2476 | tag: tip
2464 2477 | user: test
2465 2478 | date: Thu Jan 01 00:00:00 1970 +0000
2466 2479 | summary: content3
2467 2480 |
2468 2481 @ changeset: 3:15b2327059e5
2469 2482 | user: test
2470 2483 | date: Thu Jan 01 00:00:00 1970 +0000
2471 2484 | summary: content2
2472 2485 |
2473 2486 o changeset: 2:2029acd1168c
2474 2487 | parent: 0:ae0a3c9f9e95
2475 2488 | user: test
2476 2489 | date: Thu Jan 01 00:00:00 1970 +0000
2477 2490 | summary: unrelated
2478 2491 |
2479 2492 o changeset: 0:ae0a3c9f9e95
2480 2493 user: test
2481 2494 date: Thu Jan 01 00:00:00 1970 +0000
2482 2495 summary: content1
2483 2496
2484 2497
2485 2498 Check that log on the file does not drop the file revision.
2486 2499
2487 2500 $ hg log -G a
2488 2501 o changeset: 4:50b9b36e9c5d
2489 2502 | tag: tip
2490 2503 | user: test
2491 2504 | date: Thu Jan 01 00:00:00 1970 +0000
2492 2505 | summary: content3
2493 2506 |
2494 2507 @ changeset: 3:15b2327059e5
2495 2508 : user: test
2496 2509 : date: Thu Jan 01 00:00:00 1970 +0000
2497 2510 : summary: content2
2498 2511 :
2499 2512 o changeset: 0:ae0a3c9f9e95
2500 2513 user: test
2501 2514 date: Thu Jan 01 00:00:00 1970 +0000
2502 2515 summary: content1
2503 2516
2504 2517
2505 2518 Even when a head revision is linkrev-shadowed.
2506 2519
2507 2520 $ hg log -T '{node}\n' -r 4
2508 2521 50b9b36e9c5df2c6fc6dcefa8ad0da929e84aed2
2509 2522 $ hg debugobsolete 50b9b36e9c5df2c6fc6dcefa8ad0da929e84aed2
2510 2523 obsoleted 1 changesets
2511 2524 $ hg log -G a
2512 2525 @ changeset: 3:15b2327059e5
2513 2526 : tag: tip
2514 2527 : user: test
2515 2528 : date: Thu Jan 01 00:00:00 1970 +0000
2516 2529 : summary: content2
2517 2530 :
2518 2531 o changeset: 0:ae0a3c9f9e95
2519 2532 user: test
2520 2533 date: Thu Jan 01 00:00:00 1970 +0000
2521 2534 summary: content1
2522 2535
2523 2536
2524 2537 $ cd ..
2525 2538
2526 2539 Even when the file revision is missing from some head:
2527 2540
2528 2541 $ hg init issue4490
2529 2542 $ cd issue4490
2530 2543 $ echo '[experimental]' >> .hg/hgrc
2531 2544 $ echo 'evolution.createmarkers=True' >> .hg/hgrc
2532 2545 $ echo a > a
2533 2546 $ hg ci -Am0
2534 2547 adding a
2535 2548 $ echo b > b
2536 2549 $ hg ci -Am1
2537 2550 adding b
2538 2551 $ echo B > b
2539 2552 $ hg ci --amend -m 1
2540 2553 $ hg up 0
2541 2554 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2542 2555 $ echo c > c
2543 2556 $ hg ci -Am2
2544 2557 adding c
2545 2558 created new head
2546 2559 $ hg up 'head() and not .'
2547 2560 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
2548 2561 $ hg log -G
2549 2562 o changeset: 3:db815d6d32e6
2550 2563 | tag: tip
2551 2564 | parent: 0:f7b1eb17ad24
2552 2565 | user: test
2553 2566 | date: Thu Jan 01 00:00:00 1970 +0000
2554 2567 | summary: 2
2555 2568 |
2556 2569 | @ changeset: 2:9bc8ce7f9356
2557 2570 |/ parent: 0:f7b1eb17ad24
2558 2571 | user: test
2559 2572 | date: Thu Jan 01 00:00:00 1970 +0000
2560 2573 | summary: 1
2561 2574 |
2562 2575 o changeset: 0:f7b1eb17ad24
2563 2576 user: test
2564 2577 date: Thu Jan 01 00:00:00 1970 +0000
2565 2578 summary: 0
2566 2579
2567 2580 $ hg log -f -G b
2568 2581 @ changeset: 2:9bc8ce7f9356
2569 2582 | parent: 0:f7b1eb17ad24
2570 2583 ~ user: test
2571 2584 date: Thu Jan 01 00:00:00 1970 +0000
2572 2585 summary: 1
2573 2586
2574 2587 $ hg log -G b
2575 2588 @ changeset: 2:9bc8ce7f9356
2576 2589 | parent: 0:f7b1eb17ad24
2577 2590 ~ user: test
2578 2591 date: Thu Jan 01 00:00:00 1970 +0000
2579 2592 summary: 1
2580 2593
2581 2594 $ cd ..
2582 2595
2583 2596 Check proper report when the manifest changes but not the file issue4499
2584 2597 ------------------------------------------------------------------------
2585 2598
2586 2599 $ hg init issue4499
2587 2600 $ cd issue4499
2588 2601 $ for f in A B C D F E G H I J K L M N O P Q R S T U; do
2589 2602 > echo 1 > $f;
2590 2603 > hg add $f;
2591 2604 > done
2592 2605 $ hg commit -m 'A1B1C1'
2593 2606 $ echo 2 > A
2594 2607 $ echo 2 > B
2595 2608 $ echo 2 > C
2596 2609 $ hg commit -m 'A2B2C2'
2597 2610 $ hg up 0
2598 2611 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
2599 2612 $ echo 3 > A
2600 2613 $ echo 2 > B
2601 2614 $ echo 2 > C
2602 2615 $ hg commit -m 'A3B2C2'
2603 2616 created new head
2604 2617
2605 2618 $ hg log -G
2606 2619 @ changeset: 2:fe5fc3d0eb17
2607 2620 | tag: tip
2608 2621 | parent: 0:abf4f0e38563
2609 2622 | user: test
2610 2623 | date: Thu Jan 01 00:00:00 1970 +0000
2611 2624 | summary: A3B2C2
2612 2625 |
2613 2626 | o changeset: 1:07dcc6b312c0
2614 2627 |/ user: test
2615 2628 | date: Thu Jan 01 00:00:00 1970 +0000
2616 2629 | summary: A2B2C2
2617 2630 |
2618 2631 o changeset: 0:abf4f0e38563
2619 2632 user: test
2620 2633 date: Thu Jan 01 00:00:00 1970 +0000
2621 2634 summary: A1B1C1
2622 2635
2623 2636
2624 2637 Log -f on B should reports current changesets
2625 2638
2626 2639 $ hg log -fG B
2627 2640 @ changeset: 2:fe5fc3d0eb17
2628 2641 | tag: tip
2629 2642 | parent: 0:abf4f0e38563
2630 2643 | user: test
2631 2644 | date: Thu Jan 01 00:00:00 1970 +0000
2632 2645 | summary: A3B2C2
2633 2646 |
2634 2647 o changeset: 0:abf4f0e38563
2635 2648 user: test
2636 2649 date: Thu Jan 01 00:00:00 1970 +0000
2637 2650 summary: A1B1C1
2638 2651
2639 2652 $ cd ..
2640 2653
2641 2654 --- going to test line wrap fix on using both --stat and -G (issue5800)
2642 2655 $ hg init issue5800
2643 2656 $ cd issue5800
2644 2657 $ touch a
2645 2658 $ hg ci -Am 'add a'
2646 2659 adding a
2647 2660 ---- now we are going to add 300 lines to a
2648 2661 $ for i in `$TESTDIR/seq.py 1 300`; do echo $i >> a; done
2649 2662 $ hg ci -m 'modify a'
2650 2663 $ hg log
2651 2664 changeset: 1:a98683e6a834
2652 2665 tag: tip
2653 2666 user: test
2654 2667 date: Thu Jan 01 00:00:00 1970 +0000
2655 2668 summary: modify a
2656 2669
2657 2670 changeset: 0:ac82d8b1f7c4
2658 2671 user: test
2659 2672 date: Thu Jan 01 00:00:00 1970 +0000
2660 2673 summary: add a
2661 2674
2662 2675 ---- now visualise the changes we made without template
2663 2676 $ hg log -l1 -r a98683e6a834 --stat -G
2664 2677 @ changeset: 1:a98683e6a834
2665 2678 | tag: tip
2666 2679 ~ user: test
2667 2680 date: Thu Jan 01 00:00:00 1970 +0000
2668 2681 summary: modify a
2669 2682
2670 2683 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2671 2684 1 files changed, 300 insertions(+), 0 deletions(-)
2672 2685
2673 2686 ---- with template
2674 2687 $ hg log -l1 -r a98683e6a834 --stat -G -T bisect
2675 2688 @ changeset: 1:a98683e6a834
2676 2689 | bisect:
2677 2690 ~ tag: tip
2678 2691 user: test
2679 2692 date: Thu Jan 01 00:00:00 1970 +0000
2680 2693 summary: modify a
2681 2694
2682 2695 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2683 2696 1 files changed, 300 insertions(+), 0 deletions(-)
2684 2697
2685 2698 $ hg log -l1 -r a98683e6a834 --stat -G -T changelog
2686 2699 1970-01-01 test <test>
2687 2700
2688 2701 @ * a:
2689 2702 | modify a
2690 2703 ~ [a98683e6a834] [tip]
2691 2704
2692 2705 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2693 2706 1 files changed, 300 insertions(+), 0 deletions(-)
2694 2707
2695 2708 $ hg log -l1 -r a98683e6a834 --stat -G -T compact
2696 2709 @ 1[tip] a98683e6a834 1970-01-01 00:00 +0000 test
2697 2710 | modify a
2698 2711 ~
2699 2712 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2700 2713 1 files changed, 300 insertions(+), 0 deletions(-)
2701 2714
2702 2715 $ hg log -l1 -r a98683e6a834 --stat -G -T default
2703 2716 @ changeset: 1:a98683e6a834
2704 2717 | tag: tip
2705 2718 ~ user: test
2706 2719 date: Thu Jan 01 00:00:00 1970 +0000
2707 2720 summary: modify a
2708 2721
2709 2722 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2710 2723 1 files changed, 300 insertions(+), 0 deletions(-)
2711 2724
2712 2725 $ hg log -l1 -r a98683e6a834 --stat -G -T phases
2713 2726 @ changeset: 1:a98683e6a834
2714 2727 | tag: tip
2715 2728 ~ phase: draft
2716 2729 user: test
2717 2730 date: Thu Jan 01 00:00:00 1970 +0000
2718 2731 summary: modify a
2719 2732
2720 2733 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2721 2734 1 files changed, 300 insertions(+), 0 deletions(-)
2722 2735
2723 2736 $ hg log -l1 -r a98683e6a834 --stat -G -T show
2724 2737 @ changeset: 1:a98683e6a834
2725 2738 | tag: tip
2726 2739 ~ user: test
2727 2740 date: Thu Jan 01 00:00:00 1970 +0000
2728 2741 summary: modify a
2729 2742
2730 2743 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2731 2744 1 files changed, 300 insertions(+), 0 deletions(-)
2732 2745
2733 2746 $ hg log -l1 -r a98683e6a834 --stat -G -T status
2734 2747 @ changeset: 1:a98683e6a834
2735 2748 | tag: tip
2736 2749 ~ user: test
2737 2750 date: Thu Jan 01 00:00:00 1970 +0000
2738 2751 summary: modify a
2739 2752 files:
2740 2753 M a
2741 2754
2742 2755 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2743 2756 1 files changed, 300 insertions(+), 0 deletions(-)
2744 2757
2745 2758 $ hg log -l1 -r a98683e6a834 --stat -G -T xml
2746 2759 <?xml version="1.0"?>
2747 2760 <log>
2748 2761 @ <logentry revision="1" node="a98683e6a8340830a7683909768b62871e84bc9d">
2749 2762 | <tag>tip</tag>
2750 2763 ~ <author email="test">test</author>
2751 2764 <date>1970-01-01T00:00:00+00:00</date>
2752 2765 <msg xml:space="preserve">modify a</msg>
2753 2766 </logentry>
2754 2767 a | 300 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2755 2768 1 files changed, 300 insertions(+), 0 deletions(-)
2756 2769
2757 2770 </log>
2758 2771
2759 2772 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now