110 |
111 |
111 test kill and immutable changeset |
112 test kill and immutable changeset |
112 |
113 |
113 $ hg log -r 1 --template '{rev} {phase} {obsolete}\n' |
114 $ hg log -r 1 --template '{rev} {phase} {obsolete}\n' |
114 1 public stable |
115 1 public stable |
115 $ hg kill 1 |
116 $ hg prune 1 |
116 abort: cannot prune immutable changeset: 7c3bad9141dc |
117 abort: cannot prune immutable changeset: 7c3bad9141dc |
117 (see "hg help phases" for details) |
118 (see "hg help phases" for details) |
118 [255] |
119 [255] |
119 $ hg log -r 1 --template '{rev} {phase} {obsolete}\n' |
120 $ hg log -r 1 --template '{rev} {phase} {obsolete}\n' |
120 1 public stable |
121 1 public stable |
121 |
122 |
122 test simple kill |
123 test simple kill |
123 |
124 |
124 $ hg id -n |
125 $ hg id -n |
125 5 |
126 5 |
126 $ hg kill . |
127 $ hg prune . |
127 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
128 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
128 working directory now at fbb94e3a0ecf |
129 working directory now at fbb94e3a0ecf |
129 1 changesets pruned |
130 1 changesets pruned |
130 $ hg qlog |
131 $ hg qlog |
131 4 - fbb94e3a0ecf add e (draft) |
132 4 - fbb94e3a0ecf add e (draft) |
134 1 - 7c3bad9141dc add b (public) |
135 1 - 7c3bad9141dc add b (public) |
135 0 - 1f0dee641bb7 add a (public) |
136 0 - 1f0dee641bb7 add a (public) |
136 |
137 |
137 test multiple kill |
138 test multiple kill |
138 |
139 |
139 $ hg kill 4 -r 3 |
140 $ hg prune 4 -r 3 |
140 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
141 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
141 working directory now at 7c3bad9141dc |
142 working directory now at 7c3bad9141dc |
142 2 changesets pruned |
143 2 changesets pruned |
143 $ hg qlog |
144 $ hg qlog |
144 2 - 4538525df7e2 add c (draft) |
145 2 - 4538525df7e2 add c (draft) |
1448 o 36:43c3f5ef149f@default(draft) add uu |
1449 o 36:43c3f5ef149f@default(draft) add uu |
1449 | |
1450 | |
1450 |
1451 |
1451 $ hg status newlyadded |
1452 $ hg status newlyadded |
1452 A newlyadded |
1453 A newlyadded |
|
1454 |
|
1455 hg metaedit |
|
1456 ----------- |
|
1457 |
|
1458 $ hg update --clean . |
|
1459 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1460 $ rm newlyadded |
|
1461 $ hg metaedit -r 0 |
|
1462 abort: cannot edit commit information for public revisions |
|
1463 [255] |
|
1464 $ hg metaedit --fold |
|
1465 abort: revisions must be specified with --fold |
|
1466 [255] |
|
1467 $ hg metaedit -r 0 --fold |
|
1468 abort: cannot fold public revisions |
|
1469 [255] |
|
1470 $ hg metaedit '36 + 42' --fold |
|
1471 abort: cannot fold non-linear revisions (multiple roots given) |
|
1472 [255] |
|
1473 $ hg metaedit '36::39 + 41' --fold |
|
1474 abort: cannot fold non-linear revisions (multiple heads given) |
|
1475 [255] |
|
1476 check that metaedit respects allowunstable |
|
1477 $ hg metaedit '.^' --config 'experimental.evolution=createmarkers, allnewcommands' |
|
1478 abort: cannot edit commit information in the middle of a stack |
|
1479 (c904da5245b0 will be affected) |
|
1480 [255] |
|
1481 $ hg metaedit '18::20' --fold --config 'experimental.evolution=createmarkers, allnewcommands' |
|
1482 abort: cannot fold chain not ending with a head or with branching |
|
1483 [255] |
|
1484 $ hg metaedit --user foobar |
|
1485 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1486 $ hg log --template '{rev}: {author}\n' -r '42:' --hidden |
|
1487 42: test |
|
1488 43: foobar |
|
1489 $ hg log --template '{rev}: {author}\n' -r . |
|
1490 43: foobar |
|
1491 |
|
1492 TODO: support this |
|
1493 $ hg metaedit '.^::.' |
|
1494 abort: editing multiple revisions without --fold is not currently supported |
|
1495 [255] |
|
1496 |
|
1497 $ HGEDITOR=cat hg metaedit '.^::.' --fold |
|
1498 HG: This is a fold of 2 changesets. |
|
1499 HG: Commit message of changeset 41. |
|
1500 |
|
1501 amended |
|
1502 |
|
1503 HG: Commit message of changeset 43. |
|
1504 |
|
1505 will be evolved safely |
|
1506 |
|
1507 |
|
1508 |
|
1509 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
|
1510 HG: Leave message empty to abort commit. |
|
1511 HG: -- |
|
1512 HG: user: test |
|
1513 HG: branch 'default' |
|
1514 HG: changed a |
|
1515 HG: changed newfile |
|
1516 2 changesets folded |
|
1517 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1518 |
|
1519 $ glog -r . |
|
1520 @ 44:41bf1183869c@default(draft) amended |
|
1521 | |
|
1522 |
|
1523 no new commit is created here because the date is the same |
|
1524 $ HGEDITOR=cat hg metaedit |
|
1525 amended |
|
1526 |
|
1527 |
|
1528 will be evolved safely |
|
1529 |
|
1530 |
|
1531 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
|
1532 HG: Leave message empty to abort commit. |
|
1533 HG: -- |
|
1534 HG: user: test |
|
1535 HG: branch 'default' |
|
1536 HG: changed a |
|
1537 HG: changed newfile |
|
1538 nothing changed |
|
1539 |
|
1540 $ glog -r '.^::.' |
|
1541 @ 44:41bf1183869c@default(draft) amended |
|
1542 | |
|
1543 o 36:43c3f5ef149f@default(draft) add uu |
|
1544 | |
|
1545 |
|
1546 TODO: don't create a new commit in this case |
|
1547 $ hg metaedit --config defaults.metaedit= |
|
1548 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1549 $ hg log -r '.^::.' --template '{rev}: {desc|firstline}\n' |
|
1550 36: add uu |
|
1551 45: amended |
|
1552 |
|
1553 $ hg up .^ |
|
1554 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
1555 $ hg metaedit --user foobar2 45 |
|
1556 $ hg log --template '{rev}: {author}\n' -r '42:' --hidden |
|
1557 42: test |
|
1558 43: foobar |
|
1559 44: test |
|
1560 45: test |
|
1561 46: foobar2 |
|
1562 $ hg diff -r 45 -r 46 --hidden |
|
1563 |
|
1564 'fold' one commit |
|
1565 $ hg metaedit 39 --fold --user foobar3 |
|
1566 1 changesets folded |
|
1567 $ hg log -r 47 --template '{rev}: {author}\n' |
|
1568 47: foobar3 |