tests/test-evolve.t
branchmercurial-3.4
changeset 1700 05d7df73a56b
parent 1608 e359d33856c3
parent 1698 dd6f090b7342
child 1751 bc590681de77
equal deleted inserted replaced
1699:9b1bec442496 1700:05d7df73a56b
     1   $ cat >> $HGRCPATH <<EOF
     1   $ cat >> $HGRCPATH <<EOF
     2   > [defaults]
     2   > [defaults]
     3   > amend=-d "0 0"
     3   > amend=-d "0 0"
     4   > fold=-d "0 0"
     4   > fold=-d "0 0"
       
     5   > metaedit=-d "0 0"
     5   > [web]
     6   > [web]
     6   > push_ssl = false
     7   > push_ssl = false
     7   > allow_push = *
     8   > allow_push = *
     8   > [phases]
     9   > [phases]
     9   > publish = False
    10   > publish = False
   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)
   149 
   150 
   150   $ hg up 2
   151   $ hg up 2
   151   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   152   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   152   $ echo 4 > g
   153   $ echo 4 > g
   153   $ hg add g
   154   $ hg add g
   154   $ hg kill .
   155   $ hg prune .
   155   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   156   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   156   working directory now at 7c3bad9141dc
   157   working directory now at 7c3bad9141dc
   157   1 changesets pruned
   158   1 changesets pruned
   158   $ hg st
   159   $ hg st
   159   A g
   160   A g
   790   $ echo b > b
   791   $ echo b > b
   791   $ hg ci -Am b
   792   $ hg ci -Am b
   792   adding b
   793   adding b
   793   $ hg mv a c
   794   $ hg mv a c
   794   $ hg ci -m c
   795   $ hg ci -m c
   795   $ hg kill .^
   796   $ hg prune .^
   796   1 changesets pruned
   797   1 changesets pruned
   797   1 new unstable changesets
   798   1 new unstable changesets
   798   $ hg stab --any
   799   $ hg stab --any
   799   move:[15] c
   800   move:[15] c
   800   atop:[13] a
   801   atop:[13] a
  1450   o  36:43c3f5ef149f@default(draft) add uu
  1451   o  36:43c3f5ef149f@default(draft) add uu
  1451   |
  1452   |
  1452 
  1453 
  1453   $ hg status newlyadded
  1454   $ hg status newlyadded
  1454   A newlyadded
  1455   A newlyadded
       
  1456 
       
  1457 hg metaedit
       
  1458 -----------
       
  1459 
       
  1460   $ hg update --clean .
       
  1461   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1462   $ rm newlyadded
       
  1463   $ hg metaedit -r 0
       
  1464   abort: cannot edit commit information for public revisions
       
  1465   [255]
       
  1466   $ hg metaedit --fold
       
  1467   abort: revisions must be specified with --fold
       
  1468   [255]
       
  1469   $ hg metaedit -r 0 --fold
       
  1470   abort: cannot fold public revisions
       
  1471   [255]
       
  1472   $ hg metaedit '36 + 42' --fold
       
  1473   abort: cannot fold non-linear revisions (multiple roots given)
       
  1474   [255]
       
  1475   $ hg metaedit '36::39 + 41' --fold
       
  1476   abort: cannot fold non-linear revisions (multiple heads given)
       
  1477   [255]
       
  1478 check that metaedit respects allowunstable
       
  1479   $ hg metaedit '.^' --config 'experimental.evolution=createmarkers, allnewcommands'
       
  1480   abort: cannot edit commit information in the middle of a stack
       
  1481   (c904da5245b0 will be affected)
       
  1482   [255]
       
  1483   $ hg metaedit '18::20' --fold --config 'experimental.evolution=createmarkers, allnewcommands'
       
  1484   abort: cannot fold chain not ending with a head or with branching
       
  1485   [255]
       
  1486   $ hg metaedit --user foobar
       
  1487   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1488   $ hg log --template '{rev}: {author}\n' -r '42:' --hidden
       
  1489   42: test
       
  1490   43: foobar
       
  1491   $ hg log --template '{rev}: {author}\n' -r .
       
  1492   43: foobar
       
  1493 
       
  1494 TODO: support this
       
  1495   $ hg metaedit '.^::.'
       
  1496   abort: editing multiple revisions without --fold is not currently supported
       
  1497   [255]
       
  1498 
       
  1499   $ HGEDITOR=cat hg metaedit '.^::.' --fold
       
  1500   HG: This is a fold of 2 changesets.
       
  1501   HG: Commit message of changeset 41.
       
  1502   
       
  1503   amended
       
  1504   
       
  1505   HG: Commit message of changeset 43.
       
  1506   
       
  1507   will be evolved safely
       
  1508   
       
  1509   
       
  1510   
       
  1511   HG: Enter commit message.  Lines beginning with 'HG:' are removed.
       
  1512   HG: Leave message empty to abort commit.
       
  1513   HG: --
       
  1514   HG: user: test
       
  1515   HG: branch 'default'
       
  1516   HG: changed a
       
  1517   HG: changed newfile
       
  1518   2 changesets folded
       
  1519   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1520 
       
  1521   $ glog -r .
       
  1522   @  44:41bf1183869c@default(draft) amended
       
  1523   |
       
  1524 
       
  1525 no new commit is created here because the date is the same
       
  1526   $ HGEDITOR=cat hg metaedit
       
  1527   amended
       
  1528   
       
  1529   
       
  1530   will be evolved safely
       
  1531   
       
  1532   
       
  1533   HG: Enter commit message.  Lines beginning with 'HG:' are removed.
       
  1534   HG: Leave message empty to abort commit.
       
  1535   HG: --
       
  1536   HG: user: test
       
  1537   HG: branch 'default'
       
  1538   HG: changed a
       
  1539   HG: changed newfile
       
  1540   nothing changed
       
  1541 
       
  1542   $ glog -r '.^::.'
       
  1543   @  44:41bf1183869c@default(draft) amended
       
  1544   |
       
  1545   o  36:43c3f5ef149f@default(draft) add uu
       
  1546   |
       
  1547 
       
  1548 TODO: don't create a new commit in this case
       
  1549   $ hg metaedit --config defaults.metaedit=
       
  1550   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1551   $ hg log -r '.^::.' --template '{rev}: {desc|firstline}\n'
       
  1552   36: add uu
       
  1553   45: amended
       
  1554 
       
  1555   $ hg up .^
       
  1556   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1557   $ hg metaedit --user foobar2 45
       
  1558   $ hg log --template '{rev}: {author}\n' -r '42:' --hidden
       
  1559   42: test
       
  1560   43: foobar
       
  1561   44: test
       
  1562   45: test
       
  1563   46: foobar2
       
  1564   $ hg diff -r 45 -r 46 --hidden
       
  1565 
       
  1566 'fold' one commit
       
  1567   $ hg metaedit 39 --fold --user foobar3
       
  1568   1 changesets folded
       
  1569   $ hg log -r 47 --template '{rev}: {author}\n'
       
  1570   47: foobar3