tests/test-evolve.t
branchmercurial-3.5
changeset 1698 dd6f090b7342
parent 1606 c2739551ea4e
parent 1697 093c445fd86a
child 1700 05d7df73a56b
child 1750 1dbb8fdb725a
equal deleted inserted replaced
1606:c2739551ea4e 1698:dd6f090b7342
     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
   788   $ echo b > b
   789   $ echo b > b
   789   $ hg ci -Am b
   790   $ hg ci -Am b
   790   adding b
   791   adding b
   791   $ hg mv a c
   792   $ hg mv a c
   792   $ hg ci -m c
   793   $ hg ci -m c
   793   $ hg kill .^
   794   $ hg prune .^
   794   1 changesets pruned
   795   1 changesets pruned
   795   1 new unstable changesets
   796   1 new unstable changesets
   796   $ hg stab --any
   797   $ hg stab --any
   797   move:[15] c
   798   move:[15] c
   798   atop:[13] a
   799   atop:[13] a
  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