tests/test-shelve.t
branchstable
changeset 49527 a3356ab610fc
parent 49507 f0a3aaa07d6a
parent 49457 53229e170496
child 49587 8a8005025d1c
equal deleted inserted replaced
49526:192949b68159 49527:a3356ab610fc
    22 
    22 
    23 #if phasebased
    23 #if phasebased
    24 
    24 
    25   $ cat <<EOF >> $HGRCPATH
    25   $ cat <<EOF >> $HGRCPATH
    26   > [format]
    26   > [format]
    27   > internal-phase = yes
    27   > use-internal-phase = yes
    28   > EOF
    28   > EOF
    29 
    29 
    30 #endif
    30 #endif
    31 
    31 
    32   $ hg init repo
    32   $ hg init repo
   251 apply it and make sure our state is as expected
   251 apply it and make sure our state is as expected
   252 
   252 
   253 (this also tests that same timestamp prevents backups from being
   253 (this also tests that same timestamp prevents backups from being
   254 removed, even though there are more than 'maxbackups' backups)
   254 removed, even though there are more than 'maxbackups' backups)
   255 
   255 
   256   $ f -t .hg/shelve-backup/default.patch
   256   $ f -t .hg/shelve-backup/default.shelve
   257   .hg/shelve-backup/default.patch: file
   257   .hg/shelve-backup/default.shelve: file
   258   $ touch -t 200001010000 .hg/shelve-backup/default.patch
   258   $ touch -t 200001010000 .hg/shelve-backup/default.shelve
   259   $ f -t .hg/shelve-backup/default-1.patch
   259   $ f -t .hg/shelve-backup/default-1.shelve
   260   .hg/shelve-backup/default-1.patch: file
   260   .hg/shelve-backup/default-1.shelve: file
   261   $ touch -t 200001010000 .hg/shelve-backup/default-1.patch
   261   $ touch -t 200001010000 .hg/shelve-backup/default-1.shelve
   262 
   262 
   263   $ hg unshelve
   263   $ hg unshelve
   264   unshelving change 'default-01'
   264   unshelving change 'default-01'
   265   $ hg status -C
   265   $ hg status -C
   266   M a/a
   266   M a/a
  1542   $ cat 'my filename '
  1542   $ cat 'my filename '
  1543   hi
  1543   hi
  1544   $ hg update -q --clean .
  1544   $ hg update -q --clean .
  1545   $ hg patch -p1 test_patch.patch
  1545   $ hg patch -p1 test_patch.patch
  1546   applying test_patch.patch
  1546   applying test_patch.patch
       
  1547 
       
  1548   $ hg strip -q -r .
  1547 #endif
  1549 #endif
       
  1550 
       
  1551 Check the comment of the last commit for consistency
       
  1552 
       
  1553   $ hg log -r . --template '{desc}\n'
       
  1554   add C to bars
       
  1555 
       
  1556 -- if phasebased, shelve works without patch and bundle
       
  1557 
       
  1558   $ hg update -q --clean .
       
  1559   $ rm -r .hg/shelve*
       
  1560   $ echo import antigravity >> somefile.py
       
  1561   $ hg add somefile.py
       
  1562   $ hg shelve -q
       
  1563 #if phasebased
       
  1564   $ rm .hg/shelved/default.hg
       
  1565   $ rm .hg/shelved/default.patch
       
  1566 #endif
       
  1567 
       
  1568 shelve --list --patch should work even with no patch file.
       
  1569 
       
  1570   $ hg shelve --list --patch
       
  1571   default         (*s ago) * changes to: add C to bars (glob)
       
  1572   
       
  1573   diff --git a/somefile.py b/somefile.py
       
  1574   new file mode 100644
       
  1575   --- /dev/null
       
  1576   +++ b/somefile.py
       
  1577   @@ -0,0 +1,1 @@
       
  1578   +import antigravity
       
  1579 
       
  1580   $ hg unshelve
       
  1581   unshelving change 'default'
       
  1582 
       
  1583 #if phasebased
       
  1584   $ ls .hg/shelve-backup
       
  1585   default.shelve
       
  1586 #endif
       
  1587 
       
  1588 #if stripbased
       
  1589   $ ls .hg/shelve-backup
       
  1590   default.hg
       
  1591   default.patch
       
  1592   default.shelve
       
  1593 #endif
       
  1594 
       
  1595 
       
  1596 -- allow for phase-based shelves to be disabled
       
  1597 
       
  1598   $ hg update -q --clean .
       
  1599   $ hg strip -q --hidden -r 0
       
  1600   $ rm -r .hg/shelve*
       
  1601 
       
  1602 #if phasebased
       
  1603   $ cat <<EOF >> $HGRCPATH
       
  1604   > [shelve]
       
  1605   > store = strip
       
  1606   > EOF
       
  1607 #endif
       
  1608 
       
  1609   $ echo import this >> somefile.py
       
  1610   $ hg add somefile.py
       
  1611   $ hg shelve -q
       
  1612   $ hg log --hidden
       
  1613   $ ls .hg/shelved
       
  1614   default.hg
       
  1615   default.patch
       
  1616   default.shelve
       
  1617   $ hg unshelve -q
       
  1618 
       
  1619 Override the disabling, re-enabling phase-based shelves
       
  1620 
       
  1621   $ hg shelve --config shelve.store=internal -q
       
  1622 
       
  1623 #if phasebased
       
  1624   $ hg log --hidden --template '{user}\n'
       
  1625   shelve@localhost
       
  1626 #endif
       
  1627 
       
  1628 #if stripbased
       
  1629   $ hg log --hidden --template '{user}\n'
       
  1630 #endif