1This test file test the various templates related to obsmarkers. 2 3Global setup 4============ 5 6 $ . $TESTDIR/testlib/obsmarker-common.sh 7 $ cat >> $HGRCPATH <<EOF 8 > [ui] 9 > interactive = true 10 > [phases] 11 > publish=False 12 > [experimental] 13 > evolution=true 14 > evolution.allowdivergence=true 15 > [templates] 16 > obsfatesuccessors = "{if(successors, " as ")}{join(successors, ", ")}" 17 > obsfateverb = "{obsfateverb(successors, markers)}" 18 > obsfateoperations = "{if(obsfateoperations(markers), " using {join(obsfateoperations(markers), ", ")}")}" 19 > obsfateusers = "{if(obsfateusers(markers), " by {join(obsfateusers(markers), ", ")}")}" 20 > obsfatedate = "{if(obsfatedate(markers), "{ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), " (at {min(obsfatedate(markers))|isodate})", " (between {min(obsfatedate(markers))|isodate} and {max(obsfatedate(markers))|isodate})")}")}" 21 > obsfatetempl = "{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}; " 22 > [alias] 23 > tlog = log -G -T '{node|short}\ 24 > \n Predecessors: {predecessors}\ 25 > \n semi-colon: {join(predecessors, "; ")}\ 26 > \n json: {predecessors|json}\ 27 > \n map: {join(predecessors % "{rev}:{node}", " ")}\ 28 > \n Successors: {successorssets}\ 29 > \n multi-line: {join(successorssets, "\n multi-line: ")}\ 30 > \n json: {successorssets|json}\n' 31 > fatelog = log -G -T '{node|short}\n{if(succsandmarkers, " Obsfate: {succsandmarkers % "{obsfatetempl}"} \n" )}' 32 > fatelogjson = log -G -T '{node|short}\n{if(succsandmarkers, " Obsfate: {succsandmarkers|json}\n")}' 33 > fatelogkw = log -G -T '{node|short}\n{if(obsfate, "{obsfate % " Obsfate: {fate}\n"}")}' 34 > EOF 35 36Test templates on amended commit 37================================ 38 39Test setup 40---------- 41 42 $ hg init $TESTTMP/templates-local-amend 43 $ cd $TESTTMP/templates-local-amend 44 $ mkcommit ROOT 45 $ mkcommit A0 46 $ echo 42 >> A0 47 $ hg commit --amend -m "A1" --config devel.default-date="1234567890 0" 48 $ hg commit --amend -m "A2" --config devel.default-date="987654321 0" --config devel.user.obsmarker=test2 49 50 $ hg log --hidden -G 51 @ changeset: 3:d004c8f274b9 52 | tag: tip 53 | parent: 0:ea207398892e 54 | user: test 55 | date: Thu Jan 01 00:00:00 1970 +0000 56 | summary: A2 57 | 58 | x changeset: 2:a468dc9b3633 59 |/ parent: 0:ea207398892e 60 | user: test 61 | date: Thu Jan 01 00:00:00 1970 +0000 62 | obsolete: rewritten using amend as 3:d004c8f274b9 by test2 63 | summary: A1 64 | 65 | x changeset: 1:471f378eab4c 66 |/ user: test 67 | date: Thu Jan 01 00:00:00 1970 +0000 68 | obsolete: rewritten using amend as 2:a468dc9b3633 69 | summary: A0 70 | 71 o changeset: 0:ea207398892e 72 user: test 73 date: Thu Jan 01 00:00:00 1970 +0000 74 summary: ROOT 75 76Check templates 77--------------- 78 $ hg up 'desc(A0)' --hidden 79 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 80 updated to hidden changeset 471f378eab4c 81 (hidden revision '471f378eab4c' was rewritten as: d004c8f274b9) 82 83Predecessors template should show current revision as it is the working copy 84 $ hg tlog 85 o d004c8f274b9 86 | Predecessors: 1:471f378eab4c 87 | semi-colon: 1:471f378eab4c 88 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 89 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 90 | Successors: 91 | multi-line: 92 | json: [] 93 | @ 471f378eab4c 94 |/ Predecessors: 95 | semi-colon: 96 | json: [] 97 | map: 98 | Successors: 3:d004c8f274b9 99 | multi-line: 3:d004c8f274b9 100 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]] 101 o ea207398892e 102 Predecessors: 103 semi-colon: 104 json: [] 105 map: 106 Successors: 107 multi-line: 108 json: [] 109 110 $ hg fatelog 111 o d004c8f274b9 112 | 113 | @ 471f378eab4c 114 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2 (between 2001-04-19 04:25 +0000 and 2009-02-13 23:31 +0000); 115 o ea207398892e 116 117 118 $ hg fatelogkw 119 o d004c8f274b9 120 | 121 | @ 471f378eab4c 122 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2 123 o ea207398892e 124 125 126 $ hg log -G --config command-templates.log= 127 o changeset: 3:d004c8f274b9 128 | tag: tip 129 | parent: 0:ea207398892e 130 | user: test 131 | date: Thu Jan 01 00:00:00 1970 +0000 132 | summary: A2 133 | 134 | @ changeset: 1:471f378eab4c 135 |/ user: test 136 | date: Thu Jan 01 00:00:00 1970 +0000 137 | obsolete: rewritten using amend as 3:d004c8f274b9 by test, test2 138 | summary: A0 139 | 140 o changeset: 0:ea207398892e 141 user: test 142 date: Thu Jan 01 00:00:00 1970 +0000 143 summary: ROOT 144 145 146 $ hg log -G -T "default" 147 o changeset: 3:d004c8f274b9 148 | tag: tip 149 | parent: 0:ea207398892e 150 | user: test 151 | date: Thu Jan 01 00:00:00 1970 +0000 152 | summary: A2 153 | 154 | @ changeset: 1:471f378eab4c 155 |/ user: test 156 | date: Thu Jan 01 00:00:00 1970 +0000 157 | obsolete: rewritten using amend as 3:d004c8f274b9 by test, test2 158 | summary: A0 159 | 160 o changeset: 0:ea207398892e 161 user: test 162 date: Thu Jan 01 00:00:00 1970 +0000 163 summary: ROOT 164 165 $ hg up 'desc(A1)' --hidden 166 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 167 updated to hidden changeset a468dc9b3633 168 (hidden revision 'a468dc9b3633' was rewritten as: d004c8f274b9) 169 170Predecessors template should show current revision as it is the working copy 171 $ hg tlog 172 o d004c8f274b9 173 | Predecessors: 2:a468dc9b3633 174 | semi-colon: 2:a468dc9b3633 175 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"] 176 | map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad 177 | Successors: 178 | multi-line: 179 | json: [] 180 | @ a468dc9b3633 181 |/ Predecessors: 182 | semi-colon: 183 | json: [] 184 | map: 185 | Successors: 3:d004c8f274b9 186 | multi-line: 3:d004c8f274b9 187 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]] 188 o ea207398892e 189 Predecessors: 190 semi-colon: 191 json: [] 192 map: 193 Successors: 194 multi-line: 195 json: [] 196 197 $ hg fatelog 198 o d004c8f274b9 199 | 200 | @ a468dc9b3633 201 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000); 202 o ea207398892e 203 204Predecessors template should show all the predecessors as we force their display 205with --hidden 206 $ hg tlog --hidden 207 o d004c8f274b9 208 | Predecessors: 2:a468dc9b3633 209 | semi-colon: 2:a468dc9b3633 210 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"] 211 | map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad 212 | Successors: 213 | multi-line: 214 | json: [] 215 | @ a468dc9b3633 216 |/ Predecessors: 1:471f378eab4c 217 | semi-colon: 1:471f378eab4c 218 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 219 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 220 | Successors: 3:d004c8f274b9 221 | multi-line: 3:d004c8f274b9 222 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]] 223 | x 471f378eab4c 224 |/ Predecessors: 225 | semi-colon: 226 | json: [] 227 | map: 228 | Successors: 2:a468dc9b3633 229 | multi-line: 2:a468dc9b3633 230 | json: [["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]] 231 o ea207398892e 232 Predecessors: 233 semi-colon: 234 json: [] 235 map: 236 Successors: 237 multi-line: 238 json: [] 239 240 $ hg fatelog --hidden 241 o d004c8f274b9 242 | 243 | @ a468dc9b3633 244 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000); 245 | x 471f378eab4c 246 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000); 247 o ea207398892e 248 249 250Predecessors template shouldn't show anything as all obsolete commit are not 251visible. 252 $ hg up 'desc(A2)' 253 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 254 $ hg tlog 255 @ d004c8f274b9 256 | Predecessors: 257 | semi-colon: 258 | json: [] 259 | map: 260 | Successors: 261 | multi-line: 262 | json: [] 263 o ea207398892e 264 Predecessors: 265 semi-colon: 266 json: [] 267 map: 268 Successors: 269 multi-line: 270 json: [] 271 272 $ hg tlog --hidden 273 @ d004c8f274b9 274 | Predecessors: 2:a468dc9b3633 275 | semi-colon: 2:a468dc9b3633 276 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"] 277 | map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad 278 | Successors: 279 | multi-line: 280 | json: [] 281 | x a468dc9b3633 282 |/ Predecessors: 1:471f378eab4c 283 | semi-colon: 1:471f378eab4c 284 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 285 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 286 | Successors: 3:d004c8f274b9 287 | multi-line: 3:d004c8f274b9 288 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]] 289 | x 471f378eab4c 290 |/ Predecessors: 291 | semi-colon: 292 | json: [] 293 | map: 294 | Successors: 2:a468dc9b3633 295 | multi-line: 2:a468dc9b3633 296 | json: [["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]] 297 o ea207398892e 298 Predecessors: 299 semi-colon: 300 json: [] 301 map: 302 Successors: 303 multi-line: 304 json: [] 305 306 $ hg fatelog 307 @ d004c8f274b9 308 | 309 o ea207398892e 310 311 312 $ hg fatelog --hidden 313 @ d004c8f274b9 314 | 315 | x a468dc9b3633 316 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000); 317 | x 471f378eab4c 318 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000); 319 o ea207398892e 320 321 $ hg fatelogjson --hidden 322 @ d004c8f274b9 323 | 324 | x a468dc9b3633 325 |/ Obsfate: [{"markers": [["a468dc9b36338b14fdb7825f55ce3df4e71517ad", ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test2"]], [987654321.0, 0], null]], "successors": ["d004c8f274b9ec480a47a93c10dac5eee63adb78"]}] 326 | x 471f378eab4c 327 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], 0, [["ef1", "9"], ["operation", "amend"], ["user", "test"]], [1234567890.0, 0], null]], "successors": ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]}] 328 o ea207398892e 329 330 331Check other fatelog implementations 332----------------------------------- 333 334 $ hg fatelogkw --hidden -q 335 @ d004c8f274b9 336 | 337 | x a468dc9b3633 338 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 339 | x 471f378eab4c 340 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 341 o ea207398892e 342 343 $ hg fatelogkw --hidden 344 @ d004c8f274b9 345 | 346 | x a468dc9b3633 347 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 348 | x 471f378eab4c 349 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 350 o ea207398892e 351 352 $ hg fatelogkw --hidden -v 353 @ d004c8f274b9 354 | 355 | x a468dc9b3633 356 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000) 357 | x 471f378eab4c 358 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000) 359 o ea207398892e 360 361 362 $ hg log -G -T "default" --hidden 363 @ changeset: 3:d004c8f274b9 364 | tag: tip 365 | parent: 0:ea207398892e 366 | user: test 367 | date: Thu Jan 01 00:00:00 1970 +0000 368 | summary: A2 369 | 370 | x changeset: 2:a468dc9b3633 371 |/ parent: 0:ea207398892e 372 | user: test 373 | date: Thu Jan 01 00:00:00 1970 +0000 374 | obsolete: rewritten using amend as 3:d004c8f274b9 by test2 375 | summary: A1 376 | 377 | x changeset: 1:471f378eab4c 378 |/ user: test 379 | date: Thu Jan 01 00:00:00 1970 +0000 380 | obsolete: rewritten using amend as 2:a468dc9b3633 381 | summary: A0 382 | 383 o changeset: 0:ea207398892e 384 user: test 385 date: Thu Jan 01 00:00:00 1970 +0000 386 summary: ROOT 387 388 $ hg log -G -T "default" --hidden -v 389 @ changeset: 3:d004c8f274b9 390 | tag: tip 391 | parent: 0:ea207398892e 392 | user: test 393 | date: Thu Jan 01 00:00:00 1970 +0000 394 | files: A0 395 | description: 396 | A2 397 | 398 | 399 | x changeset: 2:a468dc9b3633 400 |/ parent: 0:ea207398892e 401 | user: test 402 | date: Thu Jan 01 00:00:00 1970 +0000 403 | obsolete: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000) 404 | files: A0 405 | description: 406 | A1 407 | 408 | 409 | x changeset: 1:471f378eab4c 410 |/ user: test 411 | date: Thu Jan 01 00:00:00 1970 +0000 412 | obsolete: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000) 413 | files: A0 414 | description: 415 | A0 416 | 417 | 418 o changeset: 0:ea207398892e 419 user: test 420 date: Thu Jan 01 00:00:00 1970 +0000 421 files: ROOT 422 description: 423 ROOT 424 425 426Test templates with splitted commit 427=================================== 428 429 $ hg init $TESTTMP/templates-local-split 430 $ cd $TESTTMP/templates-local-split 431 $ mkcommit ROOT 432 $ echo 42 >> a 433 $ echo 43 >> b 434 $ hg commit -A -m "A0" 435 adding a 436 adding b 437 $ hg log --hidden -G 438 @ changeset: 1:471597cad322 439 | tag: tip 440 | user: test 441 | date: Thu Jan 01 00:00:00 1970 +0000 442 | summary: A0 443 | 444 o changeset: 0:ea207398892e 445 user: test 446 date: Thu Jan 01 00:00:00 1970 +0000 447 summary: ROOT 448 449# Simulate split 450 $ hg up -r "desc(ROOT)" 451 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 452 $ echo 42 >> a 453 $ hg commit -A -m "A0" 454 adding a 455 created new head 456 $ echo 43 >> b 457 $ hg commit -A -m "A0" 458 adding b 459 $ hg debugobsolete `getid "1"` `getid "2"` `getid "3"` 460 1 new obsolescence markers 461 obsoleted 1 changesets 462 463 $ hg log --hidden -G 464 @ changeset: 3:f257fde29c7a 465 | tag: tip 466 | user: test 467 | date: Thu Jan 01 00:00:00 1970 +0000 468 | summary: A0 469 | 470 o changeset: 2:337fec4d2edc 471 | parent: 0:ea207398892e 472 | user: test 473 | date: Thu Jan 01 00:00:00 1970 +0000 474 | summary: A0 475 | 476 | x changeset: 1:471597cad322 477 |/ user: test 478 | date: Thu Jan 01 00:00:00 1970 +0000 479 | obsolete: split as 2:337fec4d2edc, 3:f257fde29c7a 480 | summary: A0 481 | 482 o changeset: 0:ea207398892e 483 user: test 484 date: Thu Jan 01 00:00:00 1970 +0000 485 summary: ROOT 486 487Check templates 488--------------- 489 490 $ hg up 'obsolete()' --hidden 491 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 492 updated to hidden changeset 471597cad322 493 (hidden revision '471597cad322' was split as: 337fec4d2edc, f257fde29c7a) 494 495Predecessors template should show current revision as it is the working copy 496 $ hg tlog 497 o f257fde29c7a 498 | Predecessors: 1:471597cad322 499 | semi-colon: 1:471597cad322 500 | json: ["471597cad322d1f659bb169751be9133dad92ef3"] 501 | map: 1:471597cad322d1f659bb169751be9133dad92ef3 502 | Successors: 503 | multi-line: 504 | json: [] 505 o 337fec4d2edc 506 | Predecessors: 1:471597cad322 507 | semi-colon: 1:471597cad322 508 | json: ["471597cad322d1f659bb169751be9133dad92ef3"] 509 | map: 1:471597cad322d1f659bb169751be9133dad92ef3 510 | Successors: 511 | multi-line: 512 | json: [] 513 | @ 471597cad322 514 |/ Predecessors: 515 | semi-colon: 516 | json: [] 517 | map: 518 | Successors: 2:337fec4d2edc 3:f257fde29c7a 519 | multi-line: 2:337fec4d2edc 3:f257fde29c7a 520 | json: [["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]] 521 o ea207398892e 522 Predecessors: 523 semi-colon: 524 json: [] 525 map: 526 Successors: 527 multi-line: 528 json: [] 529 530 $ hg fatelog 531 o f257fde29c7a 532 | 533 o 337fec4d2edc 534 | 535 | @ 471597cad322 536 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test (at 1970-01-01 00:00 +0000); 537 o ea207398892e 538 539 $ hg up f257fde29c7a 540 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 541 542Predecessors template should not show a predecessor as it's not displayed in 543the log 544 $ hg tlog 545 @ f257fde29c7a 546 | Predecessors: 547 | semi-colon: 548 | json: [] 549 | map: 550 | Successors: 551 | multi-line: 552 | json: [] 553 o 337fec4d2edc 554 | Predecessors: 555 | semi-colon: 556 | json: [] 557 | map: 558 | Successors: 559 | multi-line: 560 | json: [] 561 o ea207398892e 562 Predecessors: 563 semi-colon: 564 json: [] 565 map: 566 Successors: 567 multi-line: 568 json: [] 569 570Predecessors template should show both predecessors as we force their display 571with --hidden 572 $ hg tlog --hidden 573 @ f257fde29c7a 574 | Predecessors: 1:471597cad322 575 | semi-colon: 1:471597cad322 576 | json: ["471597cad322d1f659bb169751be9133dad92ef3"] 577 | map: 1:471597cad322d1f659bb169751be9133dad92ef3 578 | Successors: 579 | multi-line: 580 | json: [] 581 o 337fec4d2edc 582 | Predecessors: 1:471597cad322 583 | semi-colon: 1:471597cad322 584 | json: ["471597cad322d1f659bb169751be9133dad92ef3"] 585 | map: 1:471597cad322d1f659bb169751be9133dad92ef3 586 | Successors: 587 | multi-line: 588 | json: [] 589 | x 471597cad322 590 |/ Predecessors: 591 | semi-colon: 592 | json: [] 593 | map: 594 | Successors: 2:337fec4d2edc 3:f257fde29c7a 595 | multi-line: 2:337fec4d2edc 3:f257fde29c7a 596 | json: [["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]] 597 o ea207398892e 598 Predecessors: 599 semi-colon: 600 json: [] 601 map: 602 Successors: 603 multi-line: 604 json: [] 605 606 $ hg fatelog --hidden 607 @ f257fde29c7a 608 | 609 o 337fec4d2edc 610 | 611 | x 471597cad322 612 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test (at 1970-01-01 00:00 +0000); 613 o ea207398892e 614 615 $ hg fatelogjson --hidden 616 @ f257fde29c7a 617 | 618 o 337fec4d2edc 619 | 620 | x 471597cad322 621 |/ Obsfate: [{"markers": [["471597cad322d1f659bb169751be9133dad92ef3", ["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]}] 622 o ea207398892e 623 624Check other fatelog implementations 625----------------------------------- 626 627 $ hg fatelogkw --hidden -q 628 @ f257fde29c7a 629 | 630 o 337fec4d2edc 631 | 632 | x 471597cad322 633 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a 634 o ea207398892e 635 636 $ hg fatelogkw --hidden 637 @ f257fde29c7a 638 | 639 o 337fec4d2edc 640 | 641 | x 471597cad322 642 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a 643 o ea207398892e 644 645 $ hg fatelogkw --hidden -v 646 @ f257fde29c7a 647 | 648 o 337fec4d2edc 649 | 650 | x 471597cad322 651 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test (at 1970-01-01 00:00 +0000) 652 o ea207398892e 653 654 655 $ hg log -G -T "default" --hidden 656 @ changeset: 3:f257fde29c7a 657 | tag: tip 658 | user: test 659 | date: Thu Jan 01 00:00:00 1970 +0000 660 | summary: A0 661 | 662 o changeset: 2:337fec4d2edc 663 | parent: 0:ea207398892e 664 | user: test 665 | date: Thu Jan 01 00:00:00 1970 +0000 666 | summary: A0 667 | 668 | x changeset: 1:471597cad322 669 |/ user: test 670 | date: Thu Jan 01 00:00:00 1970 +0000 671 | obsolete: split as 2:337fec4d2edc, 3:f257fde29c7a 672 | summary: A0 673 | 674 o changeset: 0:ea207398892e 675 user: test 676 date: Thu Jan 01 00:00:00 1970 +0000 677 summary: ROOT 678 679 680Test templates with folded commit 681================================= 682 683Test setup 684---------- 685 686 $ hg init $TESTTMP/templates-local-fold 687 $ cd $TESTTMP/templates-local-fold 688 $ mkcommit ROOT 689 $ mkcommit A0 690 $ mkcommit B0 691 $ hg log --hidden -G 692 @ changeset: 2:0dec01379d3b 693 | tag: tip 694 | user: test 695 | date: Thu Jan 01 00:00:00 1970 +0000 696 | summary: B0 697 | 698 o changeset: 1:471f378eab4c 699 | user: test 700 | date: Thu Jan 01 00:00:00 1970 +0000 701 | summary: A0 702 | 703 o changeset: 0:ea207398892e 704 user: test 705 date: Thu Jan 01 00:00:00 1970 +0000 706 summary: ROOT 707 708Simulate a fold 709 $ hg up -r "desc(ROOT)" 710 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 711 $ echo "A0" > A0 712 $ echo "B0" > B0 713 $ hg commit -A -m "C0" 714 adding A0 715 adding B0 716 created new head 717 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(C0)"` 718 1 new obsolescence markers 719 obsoleted 1 changesets 720 1 new orphan changesets 721 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"` 722 1 new obsolescence markers 723 obsoleted 1 changesets 724 725 $ hg log --hidden -G 726 @ changeset: 3:eb5a0daa2192 727 | tag: tip 728 | parent: 0:ea207398892e 729 | user: test 730 | date: Thu Jan 01 00:00:00 1970 +0000 731 | summary: C0 732 | 733 | x changeset: 2:0dec01379d3b 734 | | user: test 735 | | date: Thu Jan 01 00:00:00 1970 +0000 736 | | obsolete: rewritten as 3:eb5a0daa2192 737 | | summary: B0 738 | | 739 | x changeset: 1:471f378eab4c 740 |/ user: test 741 | date: Thu Jan 01 00:00:00 1970 +0000 742 | obsolete: rewritten as 3:eb5a0daa2192 743 | summary: A0 744 | 745 o changeset: 0:ea207398892e 746 user: test 747 date: Thu Jan 01 00:00:00 1970 +0000 748 summary: ROOT 749 750Check templates 751--------------- 752 753 $ hg up 'desc(A0)' --hidden 754 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 755 updated to hidden changeset 471f378eab4c 756 (hidden revision '471f378eab4c' was rewritten as: eb5a0daa2192) 757 758Predecessors template should show current revision as it is the working copy 759 $ hg tlog 760 o eb5a0daa2192 761 | Predecessors: 1:471f378eab4c 762 | semi-colon: 1:471f378eab4c 763 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 764 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 765 | Successors: 766 | multi-line: 767 | json: [] 768 | @ 471f378eab4c 769 |/ Predecessors: 770 | semi-colon: 771 | json: [] 772 | map: 773 | Successors: 3:eb5a0daa2192 774 | multi-line: 3:eb5a0daa2192 775 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 776 o ea207398892e 777 Predecessors: 778 semi-colon: 779 json: [] 780 map: 781 Successors: 782 multi-line: 783 json: [] 784 785 $ hg fatelog 786 o eb5a0daa2192 787 | 788 | @ 471f378eab4c 789 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 790 o ea207398892e 791 792 $ hg up 'desc(B0)' --hidden 793 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 794 updated to hidden changeset 0dec01379d3b 795 (hidden revision '0dec01379d3b' was rewritten as: eb5a0daa2192) 796 797Predecessors template should show both predecessors as they should be both 798displayed 799 $ hg tlog 800 o eb5a0daa2192 801 | Predecessors: 2:0dec01379d3b 1:471f378eab4c 802 | semi-colon: 2:0dec01379d3b; 1:471f378eab4c 803 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"] 804 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874 805 | Successors: 806 | multi-line: 807 | json: [] 808 | @ 0dec01379d3b 809 | | Predecessors: 810 | | semi-colon: 811 | | json: [] 812 | | map: 813 | | Successors: 3:eb5a0daa2192 814 | | multi-line: 3:eb5a0daa2192 815 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 816 | x 471f378eab4c 817 |/ Predecessors: 818 | semi-colon: 819 | json: [] 820 | map: 821 | Successors: 3:eb5a0daa2192 822 | multi-line: 3:eb5a0daa2192 823 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 824 o ea207398892e 825 Predecessors: 826 semi-colon: 827 json: [] 828 map: 829 Successors: 830 multi-line: 831 json: [] 832 833 $ hg fatelog 834 o eb5a0daa2192 835 | 836 | @ 0dec01379d3b 837 | | Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 838 | x 471f378eab4c 839 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 840 o ea207398892e 841 842 $ hg up 'desc(C0)' 843 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 844 845Predecessors template should not show predecessors as they are not displayed in 846the log 847 $ hg tlog 848 @ eb5a0daa2192 849 | Predecessors: 850 | semi-colon: 851 | json: [] 852 | map: 853 | Successors: 854 | multi-line: 855 | json: [] 856 o ea207398892e 857 Predecessors: 858 semi-colon: 859 json: [] 860 map: 861 Successors: 862 multi-line: 863 json: [] 864Predecessors template should show both predecessors as we force their display 865with --hidden 866 $ hg tlog --hidden 867 @ eb5a0daa2192 868 | Predecessors: 2:0dec01379d3b 1:471f378eab4c 869 | semi-colon: 2:0dec01379d3b; 1:471f378eab4c 870 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"] 871 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874 872 | Successors: 873 | multi-line: 874 | json: [] 875 | x 0dec01379d3b 876 | | Predecessors: 877 | | semi-colon: 878 | | json: [] 879 | | map: 880 | | Successors: 3:eb5a0daa2192 881 | | multi-line: 3:eb5a0daa2192 882 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 883 | x 471f378eab4c 884 |/ Predecessors: 885 | semi-colon: 886 | json: [] 887 | map: 888 | Successors: 3:eb5a0daa2192 889 | multi-line: 3:eb5a0daa2192 890 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 891 o ea207398892e 892 Predecessors: 893 semi-colon: 894 json: [] 895 map: 896 Successors: 897 multi-line: 898 json: [] 899 900 $ hg fatelog --hidden 901 @ eb5a0daa2192 902 | 903 | x 0dec01379d3b 904 | | Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 905 | x 471f378eab4c 906 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 907 o ea207398892e 908 909 910 $ hg fatelogjson --hidden 911 @ eb5a0daa2192 912 | 913 | x 0dec01379d3b 914 | | Obsfate: [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}] 915 | x 471f378eab4c 916 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}] 917 o ea207398892e 918 919Check other fatelog implementations 920----------------------------------- 921 922 $ hg fatelogkw --hidden -q 923 @ eb5a0daa2192 924 | 925 | x 0dec01379d3b 926 | | Obsfate: rewritten as 3:eb5a0daa2192 927 | x 471f378eab4c 928 |/ Obsfate: rewritten as 3:eb5a0daa2192 929 o ea207398892e 930 931 $ hg fatelogkw --hidden 932 @ eb5a0daa2192 933 | 934 | x 0dec01379d3b 935 | | Obsfate: rewritten as 3:eb5a0daa2192 936 | x 471f378eab4c 937 |/ Obsfate: rewritten as 3:eb5a0daa2192 938 o ea207398892e 939 940 $ hg fatelogkw --hidden -v 941 @ eb5a0daa2192 942 | 943 | x 0dec01379d3b 944 | | Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000) 945 | x 471f378eab4c 946 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000) 947 o ea207398892e 948 949 $ hg log -G -T "default" --hidden 950 @ changeset: 3:eb5a0daa2192 951 | tag: tip 952 | parent: 0:ea207398892e 953 | user: test 954 | date: Thu Jan 01 00:00:00 1970 +0000 955 | summary: C0 956 | 957 | x changeset: 2:0dec01379d3b 958 | | user: test 959 | | date: Thu Jan 01 00:00:00 1970 +0000 960 | | obsolete: rewritten as 3:eb5a0daa2192 961 | | summary: B0 962 | | 963 | x changeset: 1:471f378eab4c 964 |/ user: test 965 | date: Thu Jan 01 00:00:00 1970 +0000 966 | obsolete: rewritten as 3:eb5a0daa2192 967 | summary: A0 968 | 969 o changeset: 0:ea207398892e 970 user: test 971 date: Thu Jan 01 00:00:00 1970 +0000 972 summary: ROOT 973 974 975Test templates with divergence 976============================== 977 978Test setup 979---------- 980 981 $ hg init $TESTTMP/templates-local-divergence 982 $ cd $TESTTMP/templates-local-divergence 983 $ mkcommit ROOT 984 $ mkcommit A0 985 $ hg commit --amend -m "A1" 986 $ hg log --hidden -G 987 @ changeset: 2:fdf9bde5129a 988 | tag: tip 989 | parent: 0:ea207398892e 990 | user: test 991 | date: Thu Jan 01 00:00:00 1970 +0000 992 | summary: A1 993 | 994 | x changeset: 1:471f378eab4c 995 |/ user: test 996 | date: Thu Jan 01 00:00:00 1970 +0000 997 | obsolete: rewritten using amend as 2:fdf9bde5129a 998 | summary: A0 999 | 1000 o changeset: 0:ea207398892e 1001 user: test 1002 date: Thu Jan 01 00:00:00 1970 +0000 1003 summary: ROOT 1004 1005 $ hg update --hidden 'desc(A0)' 1006 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1007 updated to hidden changeset 471f378eab4c 1008 (hidden revision '471f378eab4c' was rewritten as: fdf9bde5129a) 1009 $ hg commit --amend -m "A2" 1010 2 new content-divergent changesets 1011 $ hg log --hidden -G 1012 @ changeset: 3:65b757b745b9 1013 | tag: tip 1014 | parent: 0:ea207398892e 1015 | user: test 1016 | date: Thu Jan 01 00:00:00 1970 +0000 1017 | instability: content-divergent 1018 | summary: A2 1019 | 1020 | * changeset: 2:fdf9bde5129a 1021 |/ parent: 0:ea207398892e 1022 | user: test 1023 | date: Thu Jan 01 00:00:00 1970 +0000 1024 | instability: content-divergent 1025 | summary: A1 1026 | 1027 | x changeset: 1:471f378eab4c 1028 |/ user: test 1029 | date: Thu Jan 01 00:00:00 1970 +0000 1030 | obsolete: rewritten using amend as 2:fdf9bde5129a 1031 | obsolete: rewritten using amend as 3:65b757b745b9 1032 | summary: A0 1033 | 1034 o changeset: 0:ea207398892e 1035 user: test 1036 date: Thu Jan 01 00:00:00 1970 +0000 1037 summary: ROOT 1038 1039 $ hg commit --amend -m 'A3' 1040 $ hg log --hidden -G 1041 @ changeset: 4:019fadeab383 1042 | tag: tip 1043 | parent: 0:ea207398892e 1044 | user: test 1045 | date: Thu Jan 01 00:00:00 1970 +0000 1046 | instability: content-divergent 1047 | summary: A3 1048 | 1049 | x changeset: 3:65b757b745b9 1050 |/ parent: 0:ea207398892e 1051 | user: test 1052 | date: Thu Jan 01 00:00:00 1970 +0000 1053 | obsolete: rewritten using amend as 4:019fadeab383 1054 | summary: A2 1055 | 1056 | * changeset: 2:fdf9bde5129a 1057 |/ parent: 0:ea207398892e 1058 | user: test 1059 | date: Thu Jan 01 00:00:00 1970 +0000 1060 | instability: content-divergent 1061 | summary: A1 1062 | 1063 | x changeset: 1:471f378eab4c 1064 |/ user: test 1065 | date: Thu Jan 01 00:00:00 1970 +0000 1066 | obsolete: rewritten using amend as 2:fdf9bde5129a 1067 | obsolete: rewritten using amend as 3:65b757b745b9 1068 | summary: A0 1069 | 1070 o changeset: 0:ea207398892e 1071 user: test 1072 date: Thu Jan 01 00:00:00 1970 +0000 1073 summary: ROOT 1074 1075 1076Check templates 1077--------------- 1078 1079 $ hg up 'desc(A0)' --hidden 1080 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1081 updated to hidden changeset 471f378eab4c 1082 (hidden revision '471f378eab4c' has diverged) 1083 1084Predecessors template should show current revision as it is the working copy 1085 $ hg tlog 1086 * 019fadeab383 1087 | Predecessors: 1:471f378eab4c 1088 | semi-colon: 1:471f378eab4c 1089 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1090 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1091 | Successors: 1092 | multi-line: 1093 | json: [] 1094 | * fdf9bde5129a 1095 |/ Predecessors: 1:471f378eab4c 1096 | semi-colon: 1:471f378eab4c 1097 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1098 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1099 | Successors: 1100 | multi-line: 1101 | json: [] 1102 | @ 471f378eab4c 1103 |/ Predecessors: 1104 | semi-colon: 1105 | json: [] 1106 | map: 1107 | Successors: 2:fdf9bde5129a; 4:019fadeab383 1108 | multi-line: 2:fdf9bde5129a 1109 | multi-line: 4:019fadeab383 1110 | json: [["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]] 1111 o ea207398892e 1112 Predecessors: 1113 semi-colon: 1114 json: [] 1115 map: 1116 Successors: 1117 multi-line: 1118 json: [] 1119 $ hg fatelog 1120 * 019fadeab383 1121 | 1122 | * fdf9bde5129a 1123 |/ 1124 | @ 471f378eab4c 1125 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten using amend as 4:019fadeab383 by test (at 1970-01-01 00:00 +0000); 1126 o ea207398892e 1127 1128 $ hg up 'desc(A1)' 1129 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1130 1131Predecessors template should not show predecessors as they are not displayed in 1132the log 1133 $ hg tlog 1134 * 019fadeab383 1135 | Predecessors: 1136 | semi-colon: 1137 | json: [] 1138 | map: 1139 | Successors: 1140 | multi-line: 1141 | json: [] 1142 | @ fdf9bde5129a 1143 |/ Predecessors: 1144 | semi-colon: 1145 | json: [] 1146 | map: 1147 | Successors: 1148 | multi-line: 1149 | json: [] 1150 o ea207398892e 1151 Predecessors: 1152 semi-colon: 1153 json: [] 1154 map: 1155 Successors: 1156 multi-line: 1157 json: [] 1158 1159 $ hg fatelog 1160 * 019fadeab383 1161 | 1162 | @ fdf9bde5129a 1163 |/ 1164 o ea207398892e 1165 1166Predecessors template should the predecessors as we force their display with 1167--hidden 1168 $ hg tlog --hidden 1169 * 019fadeab383 1170 | Predecessors: 3:65b757b745b9 1171 | semi-colon: 3:65b757b745b9 1172 | json: ["65b757b745b935093c87a2bccd877521cccffcbd"] 1173 | map: 3:65b757b745b935093c87a2bccd877521cccffcbd 1174 | Successors: 1175 | multi-line: 1176 | json: [] 1177 | x 65b757b745b9 1178 |/ Predecessors: 1:471f378eab4c 1179 | semi-colon: 1:471f378eab4c 1180 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1181 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1182 | Successors: 4:019fadeab383 1183 | multi-line: 4:019fadeab383 1184 | json: [["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]] 1185 | @ fdf9bde5129a 1186 |/ Predecessors: 1:471f378eab4c 1187 | semi-colon: 1:471f378eab4c 1188 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1189 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1190 | Successors: 1191 | multi-line: 1192 | json: [] 1193 | x 471f378eab4c 1194 |/ Predecessors: 1195 | semi-colon: 1196 | json: [] 1197 | map: 1198 | Successors: 2:fdf9bde5129a; 3:65b757b745b9 1199 | multi-line: 2:fdf9bde5129a 1200 | multi-line: 3:65b757b745b9 1201 | json: [["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], ["65b757b745b935093c87a2bccd877521cccffcbd"]] 1202 o ea207398892e 1203 Predecessors: 1204 semi-colon: 1205 json: [] 1206 map: 1207 Successors: 1208 multi-line: 1209 json: [] 1210 1211 $ hg fatelog --hidden 1212 * 019fadeab383 1213 | 1214 | x 65b757b745b9 1215 |/ Obsfate: rewritten using amend as 4:019fadeab383 by test (at 1970-01-01 00:00 +0000); 1216 | @ fdf9bde5129a 1217 |/ 1218 | x 471f378eab4c 1219 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000); 1220 o ea207398892e 1221 1222 1223 $ hg fatelogjson --hidden 1224 * 019fadeab383 1225 | 1226 | x 65b757b745b9 1227 |/ Obsfate: [{"markers": [["65b757b745b935093c87a2bccd877521cccffcbd", ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]}] 1228 | @ fdf9bde5129a 1229 |/ 1230 | x 471f378eab4c 1231 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"]}, {"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["65b757b745b935093c87a2bccd877521cccffcbd"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["65b757b745b935093c87a2bccd877521cccffcbd"]}] 1232 o ea207398892e 1233 1234 1235Check other fatelog implementations 1236----------------------------------- 1237 1238 $ hg fatelogkw --hidden -q 1239 * 019fadeab383 1240 | 1241 | x 65b757b745b9 1242 |/ Obsfate: rewritten using amend as 4:019fadeab383 1243 | @ fdf9bde5129a 1244 |/ 1245 | x 471f378eab4c 1246 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a 1247 | Obsfate: rewritten using amend as 3:65b757b745b9 1248 o ea207398892e 1249 1250 $ hg fatelogkw --hidden 1251 * 019fadeab383 1252 | 1253 | x 65b757b745b9 1254 |/ Obsfate: rewritten using amend as 4:019fadeab383 1255 | @ fdf9bde5129a 1256 |/ 1257 | x 471f378eab4c 1258 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a 1259 | Obsfate: rewritten using amend as 3:65b757b745b9 1260 o ea207398892e 1261 1262 $ hg fatelogkw --hidden -v 1263 * 019fadeab383 1264 | 1265 | x 65b757b745b9 1266 |/ Obsfate: rewritten using amend as 4:019fadeab383 by test (at 1970-01-01 00:00 +0000) 1267 | @ fdf9bde5129a 1268 |/ 1269 | x 471f378eab4c 1270 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000) 1271 | Obsfate: rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000) 1272 o ea207398892e 1273 1274 $ hg log -G -T "default" --hidden 1275 * changeset: 4:019fadeab383 1276 | tag: tip 1277 | parent: 0:ea207398892e 1278 | user: test 1279 | date: Thu Jan 01 00:00:00 1970 +0000 1280 | instability: content-divergent 1281 | summary: A3 1282 | 1283 | x changeset: 3:65b757b745b9 1284 |/ parent: 0:ea207398892e 1285 | user: test 1286 | date: Thu Jan 01 00:00:00 1970 +0000 1287 | obsolete: rewritten using amend as 4:019fadeab383 1288 | summary: A2 1289 | 1290 | @ changeset: 2:fdf9bde5129a 1291 |/ parent: 0:ea207398892e 1292 | user: test 1293 | date: Thu Jan 01 00:00:00 1970 +0000 1294 | instability: content-divergent 1295 | summary: A1 1296 | 1297 | x changeset: 1:471f378eab4c 1298 |/ user: test 1299 | date: Thu Jan 01 00:00:00 1970 +0000 1300 | obsolete: rewritten using amend as 2:fdf9bde5129a 1301 | obsolete: rewritten using amend as 3:65b757b745b9 1302 | summary: A0 1303 | 1304 o changeset: 0:ea207398892e 1305 user: test 1306 date: Thu Jan 01 00:00:00 1970 +0000 1307 summary: ROOT 1308 1309 1310Test templates with amended + folded commit 1311=========================================== 1312 1313Test setup 1314---------- 1315 1316 $ hg init $TESTTMP/templates-local-amend-fold 1317 $ cd $TESTTMP/templates-local-amend-fold 1318 $ mkcommit ROOT 1319 $ mkcommit A0 1320 $ mkcommit B0 1321 $ hg commit --amend -m "B1" 1322 $ hg log --hidden -G 1323 @ changeset: 3:b7ea6d14e664 1324 | tag: tip 1325 | parent: 1:471f378eab4c 1326 | user: test 1327 | date: Thu Jan 01 00:00:00 1970 +0000 1328 | summary: B1 1329 | 1330 | x changeset: 2:0dec01379d3b 1331 |/ user: test 1332 | date: Thu Jan 01 00:00:00 1970 +0000 1333 | obsolete: rewritten using amend as 3:b7ea6d14e664 1334 | summary: B0 1335 | 1336 o changeset: 1:471f378eab4c 1337 | user: test 1338 | date: Thu Jan 01 00:00:00 1970 +0000 1339 | summary: A0 1340 | 1341 o changeset: 0:ea207398892e 1342 user: test 1343 date: Thu Jan 01 00:00:00 1970 +0000 1344 summary: ROOT 1345 1346# Simulate a fold 1347 $ hg up -r "desc(ROOT)" 1348 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 1349 $ echo "A0" > A0 1350 $ echo "B0" > B0 1351 $ hg commit -A -m "C0" 1352 adding A0 1353 adding B0 1354 created new head 1355 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(C0)"` 1356 1 new obsolescence markers 1357 obsoleted 1 changesets 1358 1 new orphan changesets 1359 $ hg debugobsolete `getid "desc(B1)"` `getid "desc(C0)"` 1360 1 new obsolescence markers 1361 obsoleted 1 changesets 1362 1363 $ hg log --hidden -G 1364 @ changeset: 4:eb5a0daa2192 1365 | tag: tip 1366 | parent: 0:ea207398892e 1367 | user: test 1368 | date: Thu Jan 01 00:00:00 1970 +0000 1369 | summary: C0 1370 | 1371 | x changeset: 3:b7ea6d14e664 1372 | | parent: 1:471f378eab4c 1373 | | user: test 1374 | | date: Thu Jan 01 00:00:00 1970 +0000 1375 | | obsolete: rewritten as 4:eb5a0daa2192 1376 | | summary: B1 1377 | | 1378 | | x changeset: 2:0dec01379d3b 1379 | |/ user: test 1380 | | date: Thu Jan 01 00:00:00 1970 +0000 1381 | | obsolete: rewritten using amend as 3:b7ea6d14e664 1382 | | summary: B0 1383 | | 1384 | x changeset: 1:471f378eab4c 1385 |/ user: test 1386 | date: Thu Jan 01 00:00:00 1970 +0000 1387 | obsolete: rewritten as 4:eb5a0daa2192 1388 | summary: A0 1389 | 1390 o changeset: 0:ea207398892e 1391 user: test 1392 date: Thu Jan 01 00:00:00 1970 +0000 1393 summary: ROOT 1394 1395Check templates 1396--------------- 1397 1398 $ hg up 'desc(A0)' --hidden 1399 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 1400 updated to hidden changeset 471f378eab4c 1401 (hidden revision '471f378eab4c' was rewritten as: eb5a0daa2192) 1402 1403Predecessors template should show current revision as it is the working copy 1404 $ hg tlog 1405 o eb5a0daa2192 1406 | Predecessors: 1:471f378eab4c 1407 | semi-colon: 1:471f378eab4c 1408 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1409 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1410 | Successors: 1411 | multi-line: 1412 | json: [] 1413 | @ 471f378eab4c 1414 |/ Predecessors: 1415 | semi-colon: 1416 | json: [] 1417 | map: 1418 | Successors: 4:eb5a0daa2192 1419 | multi-line: 4:eb5a0daa2192 1420 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1421 o ea207398892e 1422 Predecessors: 1423 semi-colon: 1424 json: [] 1425 map: 1426 Successors: 1427 multi-line: 1428 json: [] 1429 1430 $ hg fatelog 1431 o eb5a0daa2192 1432 | 1433 | @ 471f378eab4c 1434 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1435 o ea207398892e 1436 1437 $ hg up 'desc(B0)' --hidden 1438 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1439 updated to hidden changeset 0dec01379d3b 1440 (hidden revision '0dec01379d3b' was rewritten as: eb5a0daa2192) 1441 1442Predecessors template should both predecessors as they are visible 1443 $ hg tlog 1444 o eb5a0daa2192 1445 | Predecessors: 2:0dec01379d3b 1:471f378eab4c 1446 | semi-colon: 2:0dec01379d3b; 1:471f378eab4c 1447 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"] 1448 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874 1449 | Successors: 1450 | multi-line: 1451 | json: [] 1452 | @ 0dec01379d3b 1453 | | Predecessors: 1454 | | semi-colon: 1455 | | json: [] 1456 | | map: 1457 | | Successors: 4:eb5a0daa2192 1458 | | multi-line: 4:eb5a0daa2192 1459 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1460 | x 471f378eab4c 1461 |/ Predecessors: 1462 | semi-colon: 1463 | json: [] 1464 | map: 1465 | Successors: 4:eb5a0daa2192 1466 | multi-line: 4:eb5a0daa2192 1467 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1468 o ea207398892e 1469 Predecessors: 1470 semi-colon: 1471 json: [] 1472 map: 1473 Successors: 1474 multi-line: 1475 json: [] 1476 1477 $ hg fatelog 1478 o eb5a0daa2192 1479 | 1480 | @ 0dec01379d3b 1481 | | Obsfate: rewritten using amend as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1482 | x 471f378eab4c 1483 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1484 o ea207398892e 1485 1486 $ hg up 'desc(B1)' --hidden 1487 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1488 updated to hidden changeset b7ea6d14e664 1489 (hidden revision 'b7ea6d14e664' was rewritten as: eb5a0daa2192) 1490 1491Predecessors template should both predecessors as they are visible 1492 $ hg tlog 1493 o eb5a0daa2192 1494 | Predecessors: 1:471f378eab4c 3:b7ea6d14e664 1495 | semi-colon: 1:471f378eab4c; 3:b7ea6d14e664 1496 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"] 1497 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 3:b7ea6d14e664bdc8922221f7992631b50da3fb07 1498 | Successors: 1499 | multi-line: 1500 | json: [] 1501 | @ b7ea6d14e664 1502 | | Predecessors: 1503 | | semi-colon: 1504 | | json: [] 1505 | | map: 1506 | | Successors: 4:eb5a0daa2192 1507 | | multi-line: 4:eb5a0daa2192 1508 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1509 | x 471f378eab4c 1510 |/ Predecessors: 1511 | semi-colon: 1512 | json: [] 1513 | map: 1514 | Successors: 4:eb5a0daa2192 1515 | multi-line: 4:eb5a0daa2192 1516 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1517 o ea207398892e 1518 Predecessors: 1519 semi-colon: 1520 json: [] 1521 map: 1522 Successors: 1523 multi-line: 1524 json: [] 1525 1526 $ hg fatelog 1527 o eb5a0daa2192 1528 | 1529 | @ b7ea6d14e664 1530 | | Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1531 | x 471f378eab4c 1532 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1533 o ea207398892e 1534 1535 $ hg up 'desc(C0)' 1536 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1537 1538Predecessors template should show no predecessors as they are both non visible 1539 $ hg tlog 1540 @ eb5a0daa2192 1541 | Predecessors: 1542 | semi-colon: 1543 | json: [] 1544 | map: 1545 | Successors: 1546 | multi-line: 1547 | json: [] 1548 o ea207398892e 1549 Predecessors: 1550 semi-colon: 1551 json: [] 1552 map: 1553 Successors: 1554 multi-line: 1555 json: [] 1556 1557 $ hg fatelog 1558 @ eb5a0daa2192 1559 | 1560 o ea207398892e 1561 1562Predecessors template should show all predecessors as we force their display 1563with --hidden 1564 $ hg tlog --hidden 1565 @ eb5a0daa2192 1566 | Predecessors: 1:471f378eab4c 3:b7ea6d14e664 1567 | semi-colon: 1:471f378eab4c; 3:b7ea6d14e664 1568 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"] 1569 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 3:b7ea6d14e664bdc8922221f7992631b50da3fb07 1570 | Successors: 1571 | multi-line: 1572 | json: [] 1573 | x b7ea6d14e664 1574 | | Predecessors: 2:0dec01379d3b 1575 | | semi-colon: 2:0dec01379d3b 1576 | | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 1577 | | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1578 | | Successors: 4:eb5a0daa2192 1579 | | multi-line: 4:eb5a0daa2192 1580 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1581 | | x 0dec01379d3b 1582 | |/ Predecessors: 1583 | | semi-colon: 1584 | | json: [] 1585 | | map: 1586 | | Successors: 3:b7ea6d14e664 1587 | | multi-line: 3:b7ea6d14e664 1588 | | json: [["b7ea6d14e664bdc8922221f7992631b50da3fb07"]] 1589 | x 471f378eab4c 1590 |/ Predecessors: 1591 | semi-colon: 1592 | json: [] 1593 | map: 1594 | Successors: 4:eb5a0daa2192 1595 | multi-line: 4:eb5a0daa2192 1596 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]] 1597 o ea207398892e 1598 Predecessors: 1599 semi-colon: 1600 json: [] 1601 map: 1602 Successors: 1603 multi-line: 1604 json: [] 1605 1606 $ hg fatelog --hidden 1607 @ eb5a0daa2192 1608 | 1609 | x b7ea6d14e664 1610 | | Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1611 | | x 0dec01379d3b 1612 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664 by test (at 1970-01-01 00:00 +0000); 1613 | x 471f378eab4c 1614 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000); 1615 o ea207398892e 1616 1617 1618 $ hg fatelogjson --hidden 1619 @ eb5a0daa2192 1620 | 1621 | x b7ea6d14e664 1622 | | Obsfate: [{"markers": [["b7ea6d14e664bdc8922221f7992631b50da3fb07", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}] 1623 | | x 0dec01379d3b 1624 | |/ Obsfate: [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["b7ea6d14e664bdc8922221f7992631b50da3fb07"]}] 1625 | x 471f378eab4c 1626 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}] 1627 o ea207398892e 1628 1629 1630Check other fatelog implementations 1631----------------------------------- 1632 1633 $ hg fatelogkw --hidden -q 1634 @ eb5a0daa2192 1635 | 1636 | x b7ea6d14e664 1637 | | Obsfate: rewritten as 4:eb5a0daa2192 1638 | | x 0dec01379d3b 1639 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664 1640 | x 471f378eab4c 1641 |/ Obsfate: rewritten as 4:eb5a0daa2192 1642 o ea207398892e 1643 1644 $ hg fatelogkw --hidden 1645 @ eb5a0daa2192 1646 | 1647 | x b7ea6d14e664 1648 | | Obsfate: rewritten as 4:eb5a0daa2192 1649 | | x 0dec01379d3b 1650 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664 1651 | x 471f378eab4c 1652 |/ Obsfate: rewritten as 4:eb5a0daa2192 1653 o ea207398892e 1654 1655 $ hg fatelogkw --hidden -v 1656 @ eb5a0daa2192 1657 | 1658 | x b7ea6d14e664 1659 | | Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000) 1660 | | x 0dec01379d3b 1661 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664 by test (at 1970-01-01 00:00 +0000) 1662 | x 471f378eab4c 1663 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000) 1664 o ea207398892e 1665 1666 $ hg log -G -T "default" --hidden 1667 @ changeset: 4:eb5a0daa2192 1668 | tag: tip 1669 | parent: 0:ea207398892e 1670 | user: test 1671 | date: Thu Jan 01 00:00:00 1970 +0000 1672 | summary: C0 1673 | 1674 | x changeset: 3:b7ea6d14e664 1675 | | parent: 1:471f378eab4c 1676 | | user: test 1677 | | date: Thu Jan 01 00:00:00 1970 +0000 1678 | | obsolete: rewritten as 4:eb5a0daa2192 1679 | | summary: B1 1680 | | 1681 | | x changeset: 2:0dec01379d3b 1682 | |/ user: test 1683 | | date: Thu Jan 01 00:00:00 1970 +0000 1684 | | obsolete: rewritten using amend as 3:b7ea6d14e664 1685 | | summary: B0 1686 | | 1687 | x changeset: 1:471f378eab4c 1688 |/ user: test 1689 | date: Thu Jan 01 00:00:00 1970 +0000 1690 | obsolete: rewritten as 4:eb5a0daa2192 1691 | summary: A0 1692 | 1693 o changeset: 0:ea207398892e 1694 user: test 1695 date: Thu Jan 01 00:00:00 1970 +0000 1696 summary: ROOT 1697 1698 1699Test template with pushed and pulled obs markers 1700================================================ 1701 1702Test setup 1703---------- 1704 1705 $ hg init $TESTTMP/templates-local-remote-markers-1 1706 $ cd $TESTTMP/templates-local-remote-markers-1 1707 $ mkcommit ROOT 1708 $ mkcommit A0 1709 $ hg clone $TESTTMP/templates-local-remote-markers-1 $TESTTMP/templates-local-remote-markers-2 1710 updating to branch default 1711 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 1712 $ cd $TESTTMP/templates-local-remote-markers-2 1713 $ hg log --hidden -G 1714 @ changeset: 1:471f378eab4c 1715 | tag: tip 1716 | user: test 1717 | date: Thu Jan 01 00:00:00 1970 +0000 1718 | summary: A0 1719 | 1720 o changeset: 0:ea207398892e 1721 user: test 1722 date: Thu Jan 01 00:00:00 1970 +0000 1723 summary: ROOT 1724 1725 $ cd $TESTTMP/templates-local-remote-markers-1 1726 $ hg commit --amend -m "A1" 1727 $ hg commit --amend -m "A2" 1728 $ hg log --hidden -G 1729 @ changeset: 3:7a230b46bf61 1730 | tag: tip 1731 | parent: 0:ea207398892e 1732 | user: test 1733 | date: Thu Jan 01 00:00:00 1970 +0000 1734 | summary: A2 1735 | 1736 | x changeset: 2:fdf9bde5129a 1737 |/ parent: 0:ea207398892e 1738 | user: test 1739 | date: Thu Jan 01 00:00:00 1970 +0000 1740 | obsolete: rewritten using amend as 3:7a230b46bf61 1741 | summary: A1 1742 | 1743 | x changeset: 1:471f378eab4c 1744 |/ user: test 1745 | date: Thu Jan 01 00:00:00 1970 +0000 1746 | obsolete: rewritten using amend as 2:fdf9bde5129a 1747 | summary: A0 1748 | 1749 o changeset: 0:ea207398892e 1750 user: test 1751 date: Thu Jan 01 00:00:00 1970 +0000 1752 summary: ROOT 1753 1754 $ cd $TESTTMP/templates-local-remote-markers-2 1755 $ hg pull 1756 pulling from $TESTTMP/templates-local-remote-markers-1 1757 searching for changes 1758 adding changesets 1759 adding manifests 1760 adding file changes 1761 added 1 changesets with 0 changes to 1 files (+1 heads) 1762 2 new obsolescence markers 1763 obsoleted 1 changesets 1764 new changesets 7a230b46bf61 (1 drafts) 1765 (run 'hg heads' to see heads, 'hg merge' to merge) 1766 $ hg log --hidden -G 1767 o changeset: 2:7a230b46bf61 1768 | tag: tip 1769 | parent: 0:ea207398892e 1770 | user: test 1771 | date: Thu Jan 01 00:00:00 1970 +0000 1772 | summary: A2 1773 | 1774 | @ changeset: 1:471f378eab4c 1775 |/ user: test 1776 | date: Thu Jan 01 00:00:00 1970 +0000 1777 | obsolete: rewritten using amend as 2:7a230b46bf61 1778 | summary: A0 1779 | 1780 o changeset: 0:ea207398892e 1781 user: test 1782 date: Thu Jan 01 00:00:00 1970 +0000 1783 summary: ROOT 1784 1785 1786 $ hg debugobsolete 1787 471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'} 1788 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 7a230b46bf61e50b30308c6cfd7bd1269ef54702 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'} 1789 1790Check templates 1791--------------- 1792 1793Predecessors template should show current revision as it is the working copy 1794 $ hg tlog 1795 o 7a230b46bf61 1796 | Predecessors: 1:471f378eab4c 1797 | semi-colon: 1:471f378eab4c 1798 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1799 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1800 | Successors: 1801 | multi-line: 1802 | json: [] 1803 | @ 471f378eab4c 1804 |/ Predecessors: 1805 | semi-colon: 1806 | json: [] 1807 | map: 1808 | Successors: 2:7a230b46bf61 1809 | multi-line: 2:7a230b46bf61 1810 | json: [["7a230b46bf61e50b30308c6cfd7bd1269ef54702"]] 1811 o ea207398892e 1812 Predecessors: 1813 semi-colon: 1814 json: [] 1815 map: 1816 Successors: 1817 multi-line: 1818 json: [] 1819 1820 $ hg fatelog 1821 o 7a230b46bf61 1822 | 1823 | @ 471f378eab4c 1824 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000); 1825 o ea207398892e 1826 1827 $ hg up 'desc(A2)' 1828 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 1829 1830Predecessors template should show no predecessors as they are non visible 1831 $ hg tlog 1832 @ 7a230b46bf61 1833 | Predecessors: 1834 | semi-colon: 1835 | json: [] 1836 | map: 1837 | Successors: 1838 | multi-line: 1839 | json: [] 1840 o ea207398892e 1841 Predecessors: 1842 semi-colon: 1843 json: [] 1844 map: 1845 Successors: 1846 multi-line: 1847 json: [] 1848 1849 $ hg fatelog 1850 @ 7a230b46bf61 1851 | 1852 o ea207398892e 1853 1854Predecessors template should show all predecessors as we force their display 1855with --hidden 1856 $ hg tlog --hidden 1857 @ 7a230b46bf61 1858 | Predecessors: 1:471f378eab4c 1859 | semi-colon: 1:471f378eab4c 1860 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 1861 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 1862 | Successors: 1863 | multi-line: 1864 | json: [] 1865 | x 471f378eab4c 1866 |/ Predecessors: 1867 | semi-colon: 1868 | json: [] 1869 | map: 1870 | Successors: 2:7a230b46bf61 1871 | multi-line: 2:7a230b46bf61 1872 | json: [["7a230b46bf61e50b30308c6cfd7bd1269ef54702"]] 1873 o ea207398892e 1874 Predecessors: 1875 semi-colon: 1876 json: [] 1877 map: 1878 Successors: 1879 multi-line: 1880 json: [] 1881 1882 $ hg fatelog --hidden 1883 @ 7a230b46bf61 1884 | 1885 | x 471f378eab4c 1886 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000); 1887 o ea207398892e 1888 1889 1890Check other fatelog implementations 1891----------------------------------- 1892 1893 $ hg fatelogkw --hidden -q 1894 @ 7a230b46bf61 1895 | 1896 | x 471f378eab4c 1897 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 1898 o ea207398892e 1899 1900 $ hg fatelogkw --hidden 1901 @ 7a230b46bf61 1902 | 1903 | x 471f378eab4c 1904 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 1905 o ea207398892e 1906 1907 $ hg fatelogkw --hidden -v 1908 @ 7a230b46bf61 1909 | 1910 | x 471f378eab4c 1911 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000) 1912 o ea207398892e 1913 1914 $ hg log -G -T "default" --hidden 1915 @ changeset: 2:7a230b46bf61 1916 | tag: tip 1917 | parent: 0:ea207398892e 1918 | user: test 1919 | date: Thu Jan 01 00:00:00 1970 +0000 1920 | summary: A2 1921 | 1922 | x changeset: 1:471f378eab4c 1923 |/ user: test 1924 | date: Thu Jan 01 00:00:00 1970 +0000 1925 | obsolete: rewritten using amend as 2:7a230b46bf61 1926 | summary: A0 1927 | 1928 o changeset: 0:ea207398892e 1929 user: test 1930 date: Thu Jan 01 00:00:00 1970 +0000 1931 summary: ROOT 1932 1933 1934Test template with obsmarkers cycle 1935=================================== 1936 1937Test setup 1938---------- 1939 1940 $ hg init $TESTTMP/templates-local-cycle 1941 $ cd $TESTTMP/templates-local-cycle 1942 $ mkcommit ROOT 1943 $ mkcommit A0 1944 $ mkcommit B0 1945 $ hg up -r 0 1946 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 1947 $ mkcommit C0 1948 created new head 1949 1950Create the cycle 1951 1952 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(B0)"` 1953 1 new obsolescence markers 1954 obsoleted 1 changesets 1955 1 new orphan changesets 1956 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"` 1957 1 new obsolescence markers 1958 obsoleted 1 changesets 1959 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(A0)"` 1960 1 new obsolescence markers 1961 1962Check templates 1963--------------- 1964 1965 $ hg tlog 1966 @ f897c6137566 1967 | Predecessors: 1968 | semi-colon: 1969 | json: [] 1970 | map: 1971 | Successors: 1972 | multi-line: 1973 | json: [] 1974 o ea207398892e 1975 Predecessors: 1976 semi-colon: 1977 json: [] 1978 map: 1979 Successors: 1980 multi-line: 1981 json: [] 1982 1983 $ hg fatelog 1984 @ f897c6137566 1985 | 1986 o ea207398892e 1987 1988 1989 $ hg up -r "desc(B0)" --hidden 1990 2 files updated, 0 files merged, 1 files removed, 0 files unresolved 1991 updated to hidden changeset 0dec01379d3b 1992 (hidden revision '0dec01379d3b' is pruned) 1993 $ hg tlog 1994 o f897c6137566 1995 | Predecessors: 2:0dec01379d3b 1996 | semi-colon: 2:0dec01379d3b 1997 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 1998 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1999 | Successors: 2000 | multi-line: 2001 | json: [] 2002 | @ 0dec01379d3b 2003 | | Predecessors: 1:471f378eab4c 2004 | | semi-colon: 1:471f378eab4c 2005 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 2006 | | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 2007 | | Successors: 3:f897c6137566; 1:471f378eab4c 2008 | | multi-line: 3:f897c6137566 2009 | | multi-line: 1:471f378eab4c 2010 | | json: [["f897c6137566320b081514b4c7227ecc3d384b39"], ["471f378eab4c5e25f6c77f785b27c936efb22874"]] 2011 | x 471f378eab4c 2012 |/ Predecessors: 2:0dec01379d3b 2013 | semi-colon: 2:0dec01379d3b 2014 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 2015 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 2016 | Successors: 2:0dec01379d3b 2017 | multi-line: 2:0dec01379d3b 2018 | json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]] 2019 o ea207398892e 2020 Predecessors: 2021 semi-colon: 2022 json: [] 2023 map: 2024 Successors: 2025 multi-line: 2026 json: [] 2027 2028 $ hg fatelog 2029 o f897c6137566 2030 | 2031 | @ 0dec01379d3b 2032 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000); rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000); 2033 | x 471f378eab4c 2034 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000); 2035 o ea207398892e 2036 2037 2038 $ hg up -r "desc(A0)" --hidden 2039 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 2040 $ hg tlog 2041 o f897c6137566 2042 | Predecessors: 1:471f378eab4c 2043 | semi-colon: 1:471f378eab4c 2044 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 2045 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 2046 | Successors: 2047 | multi-line: 2048 | json: [] 2049 | @ 471f378eab4c 2050 |/ Predecessors: 2051 | semi-colon: 2052 | json: [] 2053 | map: 2054 | Successors: 2055 | multi-line: 2056 | json: [] 2057 o ea207398892e 2058 Predecessors: 2059 semi-colon: 2060 json: [] 2061 map: 2062 Successors: 2063 multi-line: 2064 json: [] 2065 2066 $ hg fatelog 2067 o f897c6137566 2068 | 2069 | @ 471f378eab4c 2070 |/ Obsfate: pruned; 2071 o ea207398892e 2072 2073 2074 $ hg up -r "desc(ROOT)" --hidden 2075 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 2076 $ hg tlog 2077 o f897c6137566 2078 | Predecessors: 2079 | semi-colon: 2080 | json: [] 2081 | map: 2082 | Successors: 2083 | multi-line: 2084 | json: [] 2085 @ ea207398892e 2086 Predecessors: 2087 semi-colon: 2088 json: [] 2089 map: 2090 Successors: 2091 multi-line: 2092 json: [] 2093 2094 $ hg fatelog 2095 o f897c6137566 2096 | 2097 @ ea207398892e 2098 2099 2100 $ hg tlog --hidden 2101 o f897c6137566 2102 | Predecessors: 2:0dec01379d3b 2103 | semi-colon: 2:0dec01379d3b 2104 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 2105 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 2106 | Successors: 2107 | multi-line: 2108 | json: [] 2109 | x 0dec01379d3b 2110 | | Predecessors: 1:471f378eab4c 2111 | | semi-colon: 1:471f378eab4c 2112 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 2113 | | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 2114 | | Successors: 3:f897c6137566; 1:471f378eab4c 2115 | | multi-line: 3:f897c6137566 2116 | | multi-line: 1:471f378eab4c 2117 | | json: [["f897c6137566320b081514b4c7227ecc3d384b39"], ["471f378eab4c5e25f6c77f785b27c936efb22874"]] 2118 | x 471f378eab4c 2119 |/ Predecessors: 2:0dec01379d3b 2120 | semi-colon: 2:0dec01379d3b 2121 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 2122 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 2123 | Successors: 2:0dec01379d3b 2124 | multi-line: 2:0dec01379d3b 2125 | json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]] 2126 @ ea207398892e 2127 Predecessors: 2128 semi-colon: 2129 json: [] 2130 map: 2131 Successors: 2132 multi-line: 2133 json: [] 2134 2135Check other fatelog implementations 2136----------------------------------- 2137 2138 $ hg fatelogkw --hidden -q 2139 o f897c6137566 2140 | 2141 | x 0dec01379d3b 2142 | | Obsfate: rewritten as 3:f897c6137566 2143 | | Obsfate: rewritten as 1:471f378eab4c 2144 | x 471f378eab4c 2145 |/ Obsfate: rewritten as 2:0dec01379d3b 2146 @ ea207398892e 2147 2148 $ hg fatelogkw --hidden 2149 o f897c6137566 2150 | 2151 | x 0dec01379d3b 2152 | | Obsfate: rewritten as 3:f897c6137566 2153 | | Obsfate: rewritten as 1:471f378eab4c 2154 | x 471f378eab4c 2155 |/ Obsfate: rewritten as 2:0dec01379d3b 2156 @ ea207398892e 2157 2158 $ hg fatelogkw --hidden -v 2159 o f897c6137566 2160 | 2161 | x 0dec01379d3b 2162 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000) 2163 | | Obsfate: rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000) 2164 | x 471f378eab4c 2165 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000) 2166 @ ea207398892e 2167 2168 $ hg log -G -T "default" --hidden 2169 o changeset: 3:f897c6137566 2170 | tag: tip 2171 | parent: 0:ea207398892e 2172 | user: test 2173 | date: Thu Jan 01 00:00:00 1970 +0000 2174 | summary: C0 2175 | 2176 | x changeset: 2:0dec01379d3b 2177 | | user: test 2178 | | date: Thu Jan 01 00:00:00 1970 +0000 2179 | | obsolete: rewritten as 3:f897c6137566 2180 | | obsolete: rewritten as 1:471f378eab4c 2181 | | summary: B0 2182 | | 2183 | x changeset: 1:471f378eab4c 2184 |/ user: test 2185 | date: Thu Jan 01 00:00:00 1970 +0000 2186 | obsolete: rewritten as 2:0dec01379d3b 2187 | summary: A0 2188 | 2189 @ changeset: 0:ea207398892e 2190 user: test 2191 date: Thu Jan 01 00:00:00 1970 +0000 2192 summary: ROOT 2193 2194 2195Test template with split + divergence with cycles 2196================================================= 2197 2198 $ hg log -G 2199 o changeset: 3:f897c6137566 2200 | tag: tip 2201 | parent: 0:ea207398892e 2202 | user: test 2203 | date: Thu Jan 01 00:00:00 1970 +0000 2204 | summary: C0 2205 | 2206 @ changeset: 0:ea207398892e 2207 user: test 2208 date: Thu Jan 01 00:00:00 1970 +0000 2209 summary: ROOT 2210 2211 $ hg up 2212 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 2213 2214Create a commit with three files 2215 $ touch A B C 2216 $ hg commit -A -m "Add A,B,C" A B C 2217 2218Split it 2219 $ hg up 3 2220 0 files updated, 0 files merged, 3 files removed, 0 files unresolved 2221 $ touch A 2222 $ hg commit -A -m "Add A,B,C" A 2223 created new head 2224 2225 $ touch B 2226 $ hg commit -A -m "Add A,B,C" B 2227 2228 $ touch C 2229 $ hg commit -A -m "Add A,B,C" C 2230 2231 $ hg log -G 2232 @ changeset: 7:ba2ed02b0c9a 2233 | tag: tip 2234 | user: test 2235 | date: Thu Jan 01 00:00:00 1970 +0000 2236 | summary: Add A,B,C 2237 | 2238 o changeset: 6:4a004186e638 2239 | user: test 2240 | date: Thu Jan 01 00:00:00 1970 +0000 2241 | summary: Add A,B,C 2242 | 2243 o changeset: 5:dd800401bd8c 2244 | parent: 3:f897c6137566 2245 | user: test 2246 | date: Thu Jan 01 00:00:00 1970 +0000 2247 | summary: Add A,B,C 2248 | 2249 | o changeset: 4:9bd10a0775e4 2250 |/ user: test 2251 | date: Thu Jan 01 00:00:00 1970 +0000 2252 | summary: Add A,B,C 2253 | 2254 o changeset: 3:f897c6137566 2255 | parent: 0:ea207398892e 2256 | user: test 2257 | date: Thu Jan 01 00:00:00 1970 +0000 2258 | summary: C0 2259 | 2260 o changeset: 0:ea207398892e 2261 user: test 2262 date: Thu Jan 01 00:00:00 1970 +0000 2263 summary: ROOT 2264 2265 $ hg debugobsolete `getid "4"` `getid "5"` `getid "6"` `getid "7"` 2266 1 new obsolescence markers 2267 obsoleted 1 changesets 2268 $ hg log -G 2269 @ changeset: 7:ba2ed02b0c9a 2270 | tag: tip 2271 | user: test 2272 | date: Thu Jan 01 00:00:00 1970 +0000 2273 | summary: Add A,B,C 2274 | 2275 o changeset: 6:4a004186e638 2276 | user: test 2277 | date: Thu Jan 01 00:00:00 1970 +0000 2278 | summary: Add A,B,C 2279 | 2280 o changeset: 5:dd800401bd8c 2281 | parent: 3:f897c6137566 2282 | user: test 2283 | date: Thu Jan 01 00:00:00 1970 +0000 2284 | summary: Add A,B,C 2285 | 2286 o changeset: 3:f897c6137566 2287 | parent: 0:ea207398892e 2288 | user: test 2289 | date: Thu Jan 01 00:00:00 1970 +0000 2290 | summary: C0 2291 | 2292 o changeset: 0:ea207398892e 2293 user: test 2294 date: Thu Jan 01 00:00:00 1970 +0000 2295 summary: ROOT 2296 2297Diverge one of the splitted commit 2298 2299 $ hg up 6 2300 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 2301 $ hg commit --amend -m "Add only B" 2302 1 new orphan changesets 2303 2304 $ hg up 6 --hidden 2305 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 2306 $ hg commit --amend -m "Add B only" 2307 4 new content-divergent changesets 2308 2309 $ hg log -G 2310 @ changeset: 9:0b997eb7ceee 2311 | tag: tip 2312 | parent: 5:dd800401bd8c 2313 | user: test 2314 | date: Thu Jan 01 00:00:00 1970 +0000 2315 | instability: content-divergent 2316 | summary: Add B only 2317 | 2318 | * changeset: 8:b18bc8331526 2319 |/ parent: 5:dd800401bd8c 2320 | user: test 2321 | date: Thu Jan 01 00:00:00 1970 +0000 2322 | instability: content-divergent 2323 | summary: Add only B 2324 | 2325 | * changeset: 7:ba2ed02b0c9a 2326 | | user: test 2327 | | date: Thu Jan 01 00:00:00 1970 +0000 2328 | | instability: orphan, content-divergent 2329 | | summary: Add A,B,C 2330 | | 2331 | x changeset: 6:4a004186e638 2332 |/ user: test 2333 | date: Thu Jan 01 00:00:00 1970 +0000 2334 | obsolete: rewritten using amend as 8:b18bc8331526 2335 | obsolete: rewritten using amend as 9:0b997eb7ceee 2336 | summary: Add A,B,C 2337 | 2338 * changeset: 5:dd800401bd8c 2339 | parent: 3:f897c6137566 2340 | user: test 2341 | date: Thu Jan 01 00:00:00 1970 +0000 2342 | instability: content-divergent 2343 | summary: Add A,B,C 2344 | 2345 o changeset: 3:f897c6137566 2346 | parent: 0:ea207398892e 2347 | user: test 2348 | date: Thu Jan 01 00:00:00 1970 +0000 2349 | summary: C0 2350 | 2351 o changeset: 0:ea207398892e 2352 user: test 2353 date: Thu Jan 01 00:00:00 1970 +0000 2354 summary: ROOT 2355 2356 2357Check templates 2358--------------- 2359 2360 $ hg tlog 2361 @ 0b997eb7ceee 2362 | Predecessors: 6:4a004186e638 2363 | semi-colon: 6:4a004186e638 2364 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"] 2365 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace 2366 | Successors: 2367 | multi-line: 2368 | json: [] 2369 | * b18bc8331526 2370 |/ Predecessors: 6:4a004186e638 2371 | semi-colon: 6:4a004186e638 2372 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"] 2373 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace 2374 | Successors: 2375 | multi-line: 2376 | json: [] 2377 | * ba2ed02b0c9a 2378 | | Predecessors: 2379 | | semi-colon: 2380 | | json: [] 2381 | | map: 2382 | | Successors: 2383 | | multi-line: 2384 | | json: [] 2385 | x 4a004186e638 2386 |/ Predecessors: 2387 | semi-colon: 2388 | json: [] 2389 | map: 2390 | Successors: 8:b18bc8331526; 9:0b997eb7ceee 2391 | multi-line: 8:b18bc8331526 2392 | multi-line: 9:0b997eb7ceee 2393 | json: [["b18bc8331526a22cbb1801022bd1555bf291c48b"], ["0b997eb7ceeee06200a02f8aab185979092d514e"]] 2394 * dd800401bd8c 2395 | Predecessors: 2396 | semi-colon: 2397 | json: [] 2398 | map: 2399 | Successors: 2400 | multi-line: 2401 | json: [] 2402 o f897c6137566 2403 | Predecessors: 2404 | semi-colon: 2405 | json: [] 2406 | map: 2407 | Successors: 2408 | multi-line: 2409 | json: [] 2410 o ea207398892e 2411 Predecessors: 2412 semi-colon: 2413 json: [] 2414 map: 2415 Successors: 2416 multi-line: 2417 json: [] 2418 $ hg fatelog 2419 @ 0b997eb7ceee 2420 | 2421 | * b18bc8331526 2422 |/ 2423 | * ba2ed02b0c9a 2424 | | 2425 | x 4a004186e638 2426 |/ Obsfate: rewritten using amend as 8:b18bc8331526 by test (at 1970-01-01 00:00 +0000); rewritten using amend as 9:0b997eb7ceee by test (at 1970-01-01 00:00 +0000); 2427 * dd800401bd8c 2428 | 2429 o f897c6137566 2430 | 2431 o ea207398892e 2432 2433 $ hg tlog --hidden 2434 @ 0b997eb7ceee 2435 | Predecessors: 6:4a004186e638 2436 | semi-colon: 6:4a004186e638 2437 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"] 2438 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace 2439 | Successors: 2440 | multi-line: 2441 | json: [] 2442 | * b18bc8331526 2443 |/ Predecessors: 6:4a004186e638 2444 | semi-colon: 6:4a004186e638 2445 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"] 2446 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace 2447 | Successors: 2448 | multi-line: 2449 | json: [] 2450 | * ba2ed02b0c9a 2451 | | Predecessors: 4:9bd10a0775e4 2452 | | semi-colon: 4:9bd10a0775e4 2453 | | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2454 | | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2455 | | Successors: 2456 | | multi-line: 2457 | | json: [] 2458 | x 4a004186e638 2459 |/ Predecessors: 4:9bd10a0775e4 2460 | semi-colon: 4:9bd10a0775e4 2461 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2462 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2463 | Successors: 8:b18bc8331526; 9:0b997eb7ceee 2464 | multi-line: 8:b18bc8331526 2465 | multi-line: 9:0b997eb7ceee 2466 | json: [["b18bc8331526a22cbb1801022bd1555bf291c48b"], ["0b997eb7ceeee06200a02f8aab185979092d514e"]] 2467 * dd800401bd8c 2468 | Predecessors: 4:9bd10a0775e4 2469 | semi-colon: 4:9bd10a0775e4 2470 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2471 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2472 | Successors: 2473 | multi-line: 2474 | json: [] 2475 | x 9bd10a0775e4 2476 |/ Predecessors: 2477 | semi-colon: 2478 | json: [] 2479 | map: 2480 | Successors: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a 2481 | multi-line: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a 2482 | json: [["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"]] 2483 o f897c6137566 2484 | Predecessors: 2:0dec01379d3b 2485 | semi-colon: 2:0dec01379d3b 2486 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 2487 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 2488 | Successors: 2489 | multi-line: 2490 | json: [] 2491 | x 0dec01379d3b 2492 | | Predecessors: 1:471f378eab4c 2493 | | semi-colon: 1:471f378eab4c 2494 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"] 2495 | | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 2496 | | Successors: 3:f897c6137566; 1:471f378eab4c 2497 | | multi-line: 3:f897c6137566 2498 | | multi-line: 1:471f378eab4c 2499 | | json: [["f897c6137566320b081514b4c7227ecc3d384b39"], ["471f378eab4c5e25f6c77f785b27c936efb22874"]] 2500 | x 471f378eab4c 2501 |/ Predecessors: 2:0dec01379d3b 2502 | semi-colon: 2:0dec01379d3b 2503 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"] 2504 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 2505 | Successors: 2:0dec01379d3b 2506 | multi-line: 2:0dec01379d3b 2507 | json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]] 2508 o ea207398892e 2509 Predecessors: 2510 semi-colon: 2511 json: [] 2512 map: 2513 Successors: 2514 multi-line: 2515 json: [] 2516 $ hg fatelog --hidden 2517 @ 0b997eb7ceee 2518 | 2519 | * b18bc8331526 2520 |/ 2521 | * ba2ed02b0c9a 2522 | | 2523 | x 4a004186e638 2524 |/ Obsfate: rewritten using amend as 8:b18bc8331526 by test (at 1970-01-01 00:00 +0000); rewritten using amend as 9:0b997eb7ceee by test (at 1970-01-01 00:00 +0000); 2525 * dd800401bd8c 2526 | 2527 | x 9bd10a0775e4 2528 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a by test (at 1970-01-01 00:00 +0000); 2529 o f897c6137566 2530 | 2531 | x 0dec01379d3b 2532 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000); rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000); 2533 | x 471f378eab4c 2534 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000); 2535 o ea207398892e 2536 2537 $ hg fatelogjson --hidden 2538 @ 0b997eb7ceee 2539 | 2540 | * b18bc8331526 2541 |/ 2542 | * ba2ed02b0c9a 2543 | | 2544 | x 4a004186e638 2545 |/ Obsfate: [{"markers": [["4a004186e63889f20cb16434fcbd72220bd1eace", ["b18bc8331526a22cbb1801022bd1555bf291c48b"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["b18bc8331526a22cbb1801022bd1555bf291c48b"]}, {"markers": [["4a004186e63889f20cb16434fcbd72220bd1eace", ["0b997eb7ceeee06200a02f8aab185979092d514e"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["0b997eb7ceeee06200a02f8aab185979092d514e"]}] 2546 * dd800401bd8c 2547 | 2548 | x 9bd10a0775e4 2549 |/ Obsfate: [{"markers": [["9bd10a0775e478708cada5f176ec6de654359ce7", ["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"]}] 2550 o f897c6137566 2551 | 2552 | x 0dec01379d3b 2553 | | Obsfate: [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["f897c6137566320b081514b4c7227ecc3d384b39"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["f897c6137566320b081514b4c7227ecc3d384b39"]}, {"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["471f378eab4c5e25f6c77f785b27c936efb22874"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["471f378eab4c5e25f6c77f785b27c936efb22874"]}] 2554 | x 471f378eab4c 2555 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]}] 2556 o ea207398892e 2557 2558 $ hg up --hidden 4 2559 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 2560 updated to hidden changeset 9bd10a0775e4 2561 (hidden revision '9bd10a0775e4' has diverged) 2562 $ hg rebase -r 7 -d 8 --config extensions.rebase= 2563 rebasing 7:ba2ed02b0c9a "Add A,B,C" 2564 $ hg tlog 2565 * eceed8f98ffc 2566 | Predecessors: 4:9bd10a0775e4 2567 | semi-colon: 4:9bd10a0775e4 2568 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2569 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2570 | Successors: 2571 | multi-line: 2572 | json: [] 2573 | * 0b997eb7ceee 2574 | | Predecessors: 4:9bd10a0775e4 2575 | | semi-colon: 4:9bd10a0775e4 2576 | | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2577 | | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2578 | | Successors: 2579 | | multi-line: 2580 | | json: [] 2581 * | b18bc8331526 2582 |/ Predecessors: 4:9bd10a0775e4 2583 | semi-colon: 4:9bd10a0775e4 2584 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2585 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2586 | Successors: 2587 | multi-line: 2588 | json: [] 2589 * dd800401bd8c 2590 | Predecessors: 4:9bd10a0775e4 2591 | semi-colon: 4:9bd10a0775e4 2592 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"] 2593 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7 2594 | Successors: 2595 | multi-line: 2596 | json: [] 2597 | @ 9bd10a0775e4 2598 |/ Predecessors: 2599 | semi-colon: 2600 | json: [] 2601 | map: 2602 | Successors: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc; 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc 2603 | multi-line: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc 2604 | multi-line: 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc 2605 | json: [["dd800401bd8c79d815329277739e433e883f784e", "0b997eb7ceeee06200a02f8aab185979092d514e", "eceed8f98ffc4186032e29a6542ab98888ebf68d"], ["dd800401bd8c79d815329277739e433e883f784e", "b18bc8331526a22cbb1801022bd1555bf291c48b", "eceed8f98ffc4186032e29a6542ab98888ebf68d"]] 2606 o f897c6137566 2607 | Predecessors: 2608 | semi-colon: 2609 | json: [] 2610 | map: 2611 | Successors: 2612 | multi-line: 2613 | json: [] 2614 o ea207398892e 2615 Predecessors: 2616 semi-colon: 2617 json: [] 2618 map: 2619 Successors: 2620 multi-line: 2621 json: [] 2622 2623 $ hg fatelog 2624 * eceed8f98ffc 2625 | 2626 | * 0b997eb7ceee 2627 | | 2628 * | b18bc8331526 2629 |/ 2630 * dd800401bd8c 2631 | 2632 | @ 9bd10a0775e4 2633 |/ Obsfate: split using amend, rebase as 5:dd800401bd8c, 9:0b997eb7ceee, 10:eceed8f98ffc by test (at 1970-01-01 00:00 +0000); split using amend, rebase as 5:dd800401bd8c, 8:b18bc8331526, 10:eceed8f98ffc by test (at 1970-01-01 00:00 +0000); 2634 o f897c6137566 2635 | 2636 o ea207398892e 2637 2638Check other fatelog implementations 2639----------------------------------- 2640 2641 $ hg fatelogkw --hidden -q 2642 * eceed8f98ffc 2643 | 2644 | * 0b997eb7ceee 2645 | | 2646 * | b18bc8331526 2647 |/ 2648 | x ba2ed02b0c9a 2649 | | Obsfate: rewritten using rebase as 10:eceed8f98ffc 2650 | x 4a004186e638 2651 |/ Obsfate: rewritten using amend as 8:b18bc8331526 2652 | Obsfate: rewritten using amend as 9:0b997eb7ceee 2653 * dd800401bd8c 2654 | 2655 | @ 9bd10a0775e4 2656 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a 2657 o f897c6137566 2658 | 2659 | x 0dec01379d3b 2660 | | Obsfate: rewritten as 3:f897c6137566 2661 | | Obsfate: rewritten as 1:471f378eab4c 2662 | x 471f378eab4c 2663 |/ Obsfate: rewritten as 2:0dec01379d3b 2664 o ea207398892e 2665 2666 $ hg fatelogkw --hidden 2667 * eceed8f98ffc 2668 | 2669 | * 0b997eb7ceee 2670 | | 2671 * | b18bc8331526 2672 |/ 2673 | x ba2ed02b0c9a 2674 | | Obsfate: rewritten using rebase as 10:eceed8f98ffc 2675 | x 4a004186e638 2676 |/ Obsfate: rewritten using amend as 8:b18bc8331526 2677 | Obsfate: rewritten using amend as 9:0b997eb7ceee 2678 * dd800401bd8c 2679 | 2680 | @ 9bd10a0775e4 2681 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a 2682 o f897c6137566 2683 | 2684 | x 0dec01379d3b 2685 | | Obsfate: rewritten as 3:f897c6137566 2686 | | Obsfate: rewritten as 1:471f378eab4c 2687 | x 471f378eab4c 2688 |/ Obsfate: rewritten as 2:0dec01379d3b 2689 o ea207398892e 2690 2691 $ hg fatelogkw --hidden -v 2692 * eceed8f98ffc 2693 | 2694 | * 0b997eb7ceee 2695 | | 2696 * | b18bc8331526 2697 |/ 2698 | x ba2ed02b0c9a 2699 | | Obsfate: rewritten using rebase as 10:eceed8f98ffc by test (at 1970-01-01 00:00 +0000) 2700 | x 4a004186e638 2701 |/ Obsfate: rewritten using amend as 8:b18bc8331526 by test (at 1970-01-01 00:00 +0000) 2702 | Obsfate: rewritten using amend as 9:0b997eb7ceee by test (at 1970-01-01 00:00 +0000) 2703 * dd800401bd8c 2704 | 2705 | @ 9bd10a0775e4 2706 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a by test (at 1970-01-01 00:00 +0000) 2707 o f897c6137566 2708 | 2709 | x 0dec01379d3b 2710 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000) 2711 | | Obsfate: rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000) 2712 | x 471f378eab4c 2713 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000) 2714 o ea207398892e 2715 2716 $ hg log -G -T "default" --hidden 2717 * changeset: 10:eceed8f98ffc 2718 | tag: tip 2719 | parent: 8:b18bc8331526 2720 | user: test 2721 | date: Thu Jan 01 00:00:00 1970 +0000 2722 | instability: content-divergent 2723 | summary: Add A,B,C 2724 | 2725 | * changeset: 9:0b997eb7ceee 2726 | | parent: 5:dd800401bd8c 2727 | | user: test 2728 | | date: Thu Jan 01 00:00:00 1970 +0000 2729 | | instability: content-divergent 2730 | | summary: Add B only 2731 | | 2732 * | changeset: 8:b18bc8331526 2733 |/ parent: 5:dd800401bd8c 2734 | user: test 2735 | date: Thu Jan 01 00:00:00 1970 +0000 2736 | instability: content-divergent 2737 | summary: Add only B 2738 | 2739 | x changeset: 7:ba2ed02b0c9a 2740 | | user: test 2741 | | date: Thu Jan 01 00:00:00 1970 +0000 2742 | | obsolete: rewritten using rebase as 10:eceed8f98ffc 2743 | | summary: Add A,B,C 2744 | | 2745 | x changeset: 6:4a004186e638 2746 |/ user: test 2747 | date: Thu Jan 01 00:00:00 1970 +0000 2748 | obsolete: rewritten using amend as 8:b18bc8331526 2749 | obsolete: rewritten using amend as 9:0b997eb7ceee 2750 | summary: Add A,B,C 2751 | 2752 * changeset: 5:dd800401bd8c 2753 | parent: 3:f897c6137566 2754 | user: test 2755 | date: Thu Jan 01 00:00:00 1970 +0000 2756 | instability: content-divergent 2757 | summary: Add A,B,C 2758 | 2759 | @ changeset: 4:9bd10a0775e4 2760 |/ user: test 2761 | date: Thu Jan 01 00:00:00 1970 +0000 2762 | obsolete: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a 2763 | summary: Add A,B,C 2764 | 2765 o changeset: 3:f897c6137566 2766 | parent: 0:ea207398892e 2767 | user: test 2768 | date: Thu Jan 01 00:00:00 1970 +0000 2769 | summary: C0 2770 | 2771 | x changeset: 2:0dec01379d3b 2772 | | user: test 2773 | | date: Thu Jan 01 00:00:00 1970 +0000 2774 | | obsolete: rewritten as 3:f897c6137566 2775 | | obsolete: rewritten as 1:471f378eab4c 2776 | | summary: B0 2777 | | 2778 | x changeset: 1:471f378eab4c 2779 |/ user: test 2780 | date: Thu Jan 01 00:00:00 1970 +0000 2781 | obsolete: rewritten as 2:0dec01379d3b 2782 | summary: A0 2783 | 2784 o changeset: 0:ea207398892e 2785 user: test 2786 date: Thu Jan 01 00:00:00 1970 +0000 2787 summary: ROOT 2788 2789 2790Test templates with pruned commits 2791================================== 2792 2793Test setup 2794---------- 2795 2796 $ hg init $TESTTMP/templates-local-prune 2797 $ cd $TESTTMP/templates-local-prune 2798 $ mkcommit ROOT 2799 $ mkcommit A0 2800 $ hg debugobsolete --record-parent `getid "."` 2801 1 new obsolescence markers 2802 obsoleted 1 changesets 2803 2804Check output 2805------------ 2806 2807 $ hg up "desc(A0)" --hidden 2808 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 2809 $ hg tlog 2810 @ 471f378eab4c 2811 | Predecessors: 2812 | semi-colon: 2813 | json: [] 2814 | map: 2815 | Successors: 2816 | multi-line: 2817 | json: [] 2818 o ea207398892e 2819 Predecessors: 2820 semi-colon: 2821 json: [] 2822 map: 2823 Successors: 2824 multi-line: 2825 json: [] 2826 $ hg fatelog 2827 @ 471f378eab4c 2828 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000); 2829 o ea207398892e 2830 2831Test templates with multiple pruned commits 2832=========================================== 2833 2834Test setup 2835---------- 2836 2837 $ hg init $TESTTMP/multiple-local-prune 2838 $ cd $TESTTMP/multiple-local-prune 2839 $ mkcommit ROOT 2840 $ mkcommit A0 2841 $ hg commit --amend -m "A1" 2842 $ hg debugobsolete --record-parent `getid "."` 2843 1 new obsolescence markers 2844 obsoleted 1 changesets 2845 2846 $ hg up -r "desc(A0)" --hidden 2847 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 2848 updated to hidden changeset 471f378eab4c 2849 (hidden revision '471f378eab4c' is pruned) 2850 $ hg commit --amend -m "A2" 2851 $ hg debugobsolete --record-parent `getid "."` 2852 1 new obsolescence markers 2853 obsoleted 1 changesets 2854 2855Check output 2856------------ 2857 2858 $ hg up "desc(A0)" --hidden 2859 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 2860 updated to hidden changeset 471f378eab4c 2861 (hidden revision '471f378eab4c' is pruned) 2862 $ hg tlog 2863 @ 471f378eab4c 2864 | Predecessors: 2865 | semi-colon: 2866 | json: [] 2867 | map: 2868 | Successors: 2869 | multi-line: 2870 | json: [] 2871 o ea207398892e 2872 Predecessors: 2873 semi-colon: 2874 json: [] 2875 map: 2876 Successors: 2877 multi-line: 2878 json: [] 2879 2880# todo: the obsfate output is not ideal 2881 $ hg fatelog 2882 @ 471f378eab4c 2883 | Obsfate: pruned; 2884 o ea207398892e 2885 2886 $ hg fatelog --hidden 2887 x 65b757b745b9 2888 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000); 2889 | x fdf9bde5129a 2890 |/ Obsfate: pruned by test (at 1970-01-01 00:00 +0000); 2891 | @ 471f378eab4c 2892 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000); 2893 o ea207398892e 2894 2895Check other fatelog implementations 2896----------------------------------- 2897 2898 $ hg fatelogkw --hidden -q 2899 x 65b757b745b9 2900 | Obsfate: pruned 2901 | x fdf9bde5129a 2902 |/ Obsfate: pruned 2903 | @ 471f378eab4c 2904 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a 2905 | Obsfate: rewritten using amend as 3:65b757b745b9 2906 o ea207398892e 2907 2908 $ hg fatelogkw --hidden 2909 x 65b757b745b9 2910 | Obsfate: pruned 2911 | x fdf9bde5129a 2912 |/ Obsfate: pruned 2913 | @ 471f378eab4c 2914 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a 2915 | Obsfate: rewritten using amend as 3:65b757b745b9 2916 o ea207398892e 2917 2918 $ hg fatelogkw --hidden -v 2919 x 65b757b745b9 2920 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000) 2921 | x fdf9bde5129a 2922 |/ Obsfate: pruned by test (at 1970-01-01 00:00 +0000) 2923 | @ 471f378eab4c 2924 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000) 2925 | Obsfate: rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000) 2926 o ea207398892e 2927 2928 2929 $ hg log -G -T "default" --hidden 2930 x changeset: 3:65b757b745b9 2931 | tag: tip 2932 | parent: 0:ea207398892e 2933 | user: test 2934 | date: Thu Jan 01 00:00:00 1970 +0000 2935 | obsolete: pruned 2936 | summary: A2 2937 | 2938 | x changeset: 2:fdf9bde5129a 2939 |/ parent: 0:ea207398892e 2940 | user: test 2941 | date: Thu Jan 01 00:00:00 1970 +0000 2942 | obsolete: pruned 2943 | summary: A1 2944 | 2945 | @ changeset: 1:471f378eab4c 2946 |/ user: test 2947 | date: Thu Jan 01 00:00:00 1970 +0000 2948 | obsolete: rewritten using amend as 2:fdf9bde5129a 2949 | obsolete: rewritten using amend as 3:65b757b745b9 2950 | summary: A0 2951 | 2952 o changeset: 0:ea207398892e 2953 user: test 2954 date: Thu Jan 01 00:00:00 1970 +0000 2955 summary: ROOT 2956 2957Check that {negrev} shows usable negative revisions despite hidden commits 2958 2959 $ hg log -G -T "{negrev}\n" 2960 @ -3 2961 | 2962 o -4 2963 2964 2965 $ hg log -G -T "{negrev}\n" --hidden 2966 x -1 2967 | 2968 | x -2 2969 |/ 2970 | @ -3 2971 |/ 2972 o -4 2973 2974 2975Test templates with splitted and pruned commit 2976============================================== 2977 2978 $ hg init $TESTTMP/templates-local-split-prune 2979 $ cd $TESTTMP/templates-local-split-prune 2980 $ mkcommit ROOT 2981 $ echo 42 >> a 2982 $ echo 43 >> b 2983 $ hg commit -A -m "A0" 2984 adding a 2985 adding b 2986 $ hg log --hidden -G 2987 @ changeset: 1:471597cad322 2988 | tag: tip 2989 | user: test 2990 | date: Thu Jan 01 00:00:00 1970 +0000 2991 | summary: A0 2992 | 2993 o changeset: 0:ea207398892e 2994 user: test 2995 date: Thu Jan 01 00:00:00 1970 +0000 2996 summary: ROOT 2997 2998# Simulate split 2999 $ hg up -r "desc(ROOT)" 3000 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 3001 $ echo 42 >> a 3002 $ hg commit -A -m "A1" 3003 adding a 3004 created new head 3005 $ echo 43 >> b 3006 $ hg commit -A -m "A2" 3007 adding b 3008 $ hg debugobsolete `getid "1"` `getid "2"` `getid "3"` 3009 1 new obsolescence markers 3010 obsoleted 1 changesets 3011 3012# Simulate prune 3013 $ hg debugobsolete --record-parent `getid "."` 3014 1 new obsolescence markers 3015 obsoleted 1 changesets 3016 3017 $ hg log --hidden -G 3018 @ changeset: 3:0d0ef4bdf70e 3019 | tag: tip 3020 | user: test 3021 | date: Thu Jan 01 00:00:00 1970 +0000 3022 | obsolete: pruned 3023 | summary: A2 3024 | 3025 o changeset: 2:617adc3a144c 3026 | parent: 0:ea207398892e 3027 | user: test 3028 | date: Thu Jan 01 00:00:00 1970 +0000 3029 | summary: A1 3030 | 3031 | x changeset: 1:471597cad322 3032 |/ user: test 3033 | date: Thu Jan 01 00:00:00 1970 +0000 3034 | obsolete: split as 2:617adc3a144c, 3:0d0ef4bdf70e 3035 | summary: A0 3036 | 3037 o changeset: 0:ea207398892e 3038 user: test 3039 date: Thu Jan 01 00:00:00 1970 +0000 3040 summary: ROOT 3041 3042Check templates 3043--------------- 3044 3045 $ hg up 'desc("A0")' --hidden 3046 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 3047 updated to hidden changeset 471597cad322 3048 (hidden revision '471597cad322' was rewritten as: 617adc3a144c) 3049 3050# todo: the obsfate output is not ideal 3051 $ hg fatelog 3052 o 617adc3a144c 3053 | 3054 | @ 471597cad322 3055 |/ Obsfate: rewritten as 2:617adc3a144c by test (at 1970-01-01 00:00 +0000); 3056 o ea207398892e 3057 3058 $ hg up -r 'desc("A2")' --hidden 3059 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 3060 updated to hidden changeset 0d0ef4bdf70e 3061 (hidden revision '0d0ef4bdf70e' is pruned) 3062 3063 $ hg fatelog --hidden 3064 @ 0d0ef4bdf70e 3065 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000); 3066 o 617adc3a144c 3067 | 3068 | x 471597cad322 3069 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e by test (at 1970-01-01 00:00 +0000); 3070 o ea207398892e 3071 3072 3073Check other fatelog implementations 3074----------------------------------- 3075 3076 $ hg fatelogkw --hidden -q 3077 @ 0d0ef4bdf70e 3078 | Obsfate: pruned 3079 o 617adc3a144c 3080 | 3081 | x 471597cad322 3082 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e 3083 o ea207398892e 3084 3085 $ hg fatelogkw --hidden 3086 @ 0d0ef4bdf70e 3087 | Obsfate: pruned 3088 o 617adc3a144c 3089 | 3090 | x 471597cad322 3091 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e 3092 o ea207398892e 3093 3094 $ hg fatelogkw --hidden -v 3095 @ 0d0ef4bdf70e 3096 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000) 3097 o 617adc3a144c 3098 | 3099 | x 471597cad322 3100 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e by test (at 1970-01-01 00:00 +0000) 3101 o ea207398892e 3102 3103 $ hg log -G -T "default" --hidden 3104 @ changeset: 3:0d0ef4bdf70e 3105 | tag: tip 3106 | user: test 3107 | date: Thu Jan 01 00:00:00 1970 +0000 3108 | obsolete: pruned 3109 | summary: A2 3110 | 3111 o changeset: 2:617adc3a144c 3112 | parent: 0:ea207398892e 3113 | user: test 3114 | date: Thu Jan 01 00:00:00 1970 +0000 3115 | summary: A1 3116 | 3117 | x changeset: 1:471597cad322 3118 |/ user: test 3119 | date: Thu Jan 01 00:00:00 1970 +0000 3120 | obsolete: split as 2:617adc3a144c, 3:0d0ef4bdf70e 3121 | summary: A0 3122 | 3123 o changeset: 0:ea207398892e 3124 user: test 3125 date: Thu Jan 01 00:00:00 1970 +0000 3126 summary: ROOT 3127 3128 3129Test metadata encoding (issue5754) 3130================================== 3131 3132 $ hg init $TESTTMP/metadata-encoding 3133 $ cd $TESTTMP/metadata-encoding 3134 $ cat <<'EOF' >> .hg/hgrc 3135 > [extensions] 3136 > amend = 3137 > EOF 3138 $ "$PYTHON" <<'EOF' 3139 > with open('test1', 'wb') as f: 3140 > f.write(b't\xe8st1') and None 3141 > with open('test2', 'wb') as f: 3142 > f.write(b't\xe8st2') and None 3143 > EOF 3144 $ mkcommit ROOT 3145 $ ( HGENCODING=latin-1 HGUSER="`cat test1`" mkcommit A0 ) 3146 $ echo 42 >> A0 3147 $ HGENCODING=latin-1 hg amend -m "A1" --note "`cat test2`" 3148 $ HGENCODING=latin-1 hg amend -m "A2" \ 3149 > --config devel.user.obsmarker="`cat test2`" 3150 $ mkcommit B0 3151 $ HGENCODING=latin-1 hg debugobsolete -u "`cat test2`" "`getid 'desc(B0)'`" 3152 1 new obsolescence markers 3153 obsoleted 1 changesets 3154 3155metadata should be stored in UTF-8, and debugobsolete doesn't decode it to 3156local encoding since the command is supposed to show unmodified content: 3157 3158 $ HGENCODING=latin-1 hg debugobsolete 3159 5f66a482f0bb2fcaccfc215554ad5eb9f40b50f5 718c0d00cee1429bdb73064e0d88908c601507a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 't\xc3\xa8st2', 'operation': 'amend', 'user': 'test'} 3160 718c0d00cee1429bdb73064e0d88908c601507a8 1132562159b35bb27e1d6b80c80ee94a1659a4da 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 't\xc3\xa8st2'} 3161 8f82db6f991db367fdbb3b6dba5e187ecc3ebd96 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 't\xc3\xa8st2'} 3162 3163metadata should be converted back to local encoding when displaying: 3164 3165 $ HGENCODING=latin-1 hg fatelog --hidden 3166 @ 8f82db6f991d 3167 | Obsfate: pruned by t\xe8st2 (at 1970-01-01 00:00 +0000); (esc) 3168 o 1132562159b3 3169 | 3170 | x 718c0d00cee1 3171 |/ Obsfate: rewritten using amend as 3:1132562159b3 by t\xe8st2 (at 1970-01-01 00:00 +0000); (esc) 3172 | x 5f66a482f0bb 3173 |/ Obsfate: rewritten using amend as 2:718c0d00cee1 by test (at 1970-01-01 00:00 +0000); 3174 o ea207398892e 3175 3176 $ HGENCODING=utf-8 hg fatelog --hidden 3177 @ 8f82db6f991d 3178 | Obsfate: pruned by t\xc3\xa8st2 (at 1970-01-01 00:00 +0000); (esc) 3179 o 1132562159b3 3180 | 3181 | x 718c0d00cee1 3182 |/ Obsfate: rewritten using amend as 3:1132562159b3 by t\xc3\xa8st2 (at 1970-01-01 00:00 +0000); (esc) 3183 | x 5f66a482f0bb 3184 |/ Obsfate: rewritten using amend as 2:718c0d00cee1 by test (at 1970-01-01 00:00 +0000); 3185 o ea207398892e 3186 3187 $ hg log -G -T "{negrev}\n" 3188 @ -1 3189 | 3190 o -2 3191 | 3192 o -5 3193 3194