tests/test-directaccess.t
changeset 35501 b378a3d840ab
child 35522 02fdb8c018aa
equal deleted inserted replaced
35500:8bb90cc4668e 35501:b378a3d840ab
       
     1 Tests for access level on hidden commits by various commands on based of their
       
     2 type.
       
     3 
       
     4 Setting the required config to start this
       
     5 
       
     6   $ cat >> $HGRCPATH <<EOF
       
     7   > [experimental]
       
     8   > evolution=createmarkers, allowunstable
       
     9   > directaccess=True
       
    10   > directaccess.revnums=True
       
    11   > [extensions]
       
    12   > amend =
       
    13   > EOF
       
    14 
       
    15   $ hg init repo
       
    16   $ cd repo
       
    17   $ for ch in a b c; do touch $ch; echo "foo" >> $ch; hg ci -Aqm "Added "$ch; done
       
    18 
       
    19   $ hg log -G -T '{rev}:{node} {desc}' --hidden
       
    20   @  2:28ad74487de9599d00d81085be739c61fc340652 Added c
       
    21   |
       
    22   o  1:29becc82797a4bc11ec8880b58eaecd2ab3e7760 Added b
       
    23   |
       
    24   o  0:18d04c59bb5d2d4090ad9a5b59bd6274adb63add Added a
       
    25   
       
    26   $ echo "bar" >> c
       
    27   $ hg amend
       
    28 
       
    29   $ hg log -G -T '{rev}:{node} {desc}' --hidden
       
    30   @  3:2443a0e664694756d8b435d06b6ad84f941b6fc0 Added c
       
    31   |
       
    32   | x  2:28ad74487de9599d00d81085be739c61fc340652 Added c
       
    33   |/
       
    34   o  1:29becc82797a4bc11ec8880b58eaecd2ab3e7760 Added b
       
    35   |
       
    36   o  0:18d04c59bb5d2d4090ad9a5b59bd6274adb63add Added a
       
    37   
       
    38 Testing read only commands on the hidden revision
       
    39 
       
    40 Testing with rev number
       
    41 
       
    42   $ hg exp 2 --config experimental.directaccess.revnums=False
       
    43   abort: hidden revision '2'!
       
    44   (use --hidden to access hidden revisions)
       
    45   [255]
       
    46 
       
    47   $ hg exp 2
       
    48   # HG changeset patch
       
    49   # User test
       
    50   # Date 0 0
       
    51   #      Thu Jan 01 00:00:00 1970 +0000
       
    52   # Node ID 28ad74487de9599d00d81085be739c61fc340652
       
    53   # Parent  29becc82797a4bc11ec8880b58eaecd2ab3e7760
       
    54   Added c
       
    55   
       
    56   diff -r 29becc82797a -r 28ad74487de9 c
       
    57   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
    58   +++ b/c	Thu Jan 01 00:00:00 1970 +0000
       
    59   @@ -0,0 +1,1 @@
       
    60   +foo
       
    61 
       
    62   $ hg log -r 2
       
    63   changeset:   2:28ad74487de9
       
    64   user:        test
       
    65   date:        Thu Jan 01 00:00:00 1970 +0000
       
    66   obsolete:    rewritten using amend as 3:2443a0e66469
       
    67   summary:     Added c
       
    68   
       
    69   $ hg identify -r 2
       
    70   28ad74487de9
       
    71 
       
    72   $ hg status --change 2
       
    73   A c
       
    74 
       
    75   $ hg status --change 2 --config experimental.directaccess.revnums=False
       
    76   abort: hidden revision '2'!
       
    77   (use --hidden to access hidden revisions)
       
    78   [255]
       
    79 
       
    80   $ hg diff -c 2
       
    81   diff -r 29becc82797a -r 28ad74487de9 c
       
    82   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
    83   +++ b/c	Thu Jan 01 00:00:00 1970 +0000
       
    84   @@ -0,0 +1,1 @@
       
    85   +foo
       
    86 
       
    87 Testing with hash
       
    88 
       
    89 `hg export`
       
    90 
       
    91   $ hg exp 28ad74
       
    92   # HG changeset patch
       
    93   # User test
       
    94   # Date 0 0
       
    95   #      Thu Jan 01 00:00:00 1970 +0000
       
    96   # Node ID 28ad74487de9599d00d81085be739c61fc340652
       
    97   # Parent  29becc82797a4bc11ec8880b58eaecd2ab3e7760
       
    98   Added c
       
    99   
       
   100   diff -r 29becc82797a -r 28ad74487de9 c
       
   101   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
   102   +++ b/c	Thu Jan 01 00:00:00 1970 +0000
       
   103   @@ -0,0 +1,1 @@
       
   104   +foo
       
   105 
       
   106 `hg log`
       
   107 
       
   108   $ hg log -r 28ad74
       
   109   changeset:   2:28ad74487de9
       
   110   user:        test
       
   111   date:        Thu Jan 01 00:00:00 1970 +0000
       
   112   obsolete:    rewritten using amend as 3:2443a0e66469
       
   113   summary:     Added c
       
   114   
       
   115 `hg cat`
       
   116 
       
   117   $ hg cat -r 28ad74 c
       
   118   foo
       
   119 
       
   120 `hg diff`
       
   121 
       
   122   $ hg diff -c 28ad74
       
   123   diff -r 29becc82797a -r 28ad74487de9 c
       
   124   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
   125   +++ b/c	Thu Jan 01 00:00:00 1970 +0000
       
   126   @@ -0,0 +1,1 @@
       
   127   +foo
       
   128 
       
   129 `hg files`
       
   130 
       
   131   $ hg files -r 28ad74
       
   132   a
       
   133   b
       
   134   c
       
   135 
       
   136 `hg identify`
       
   137 
       
   138   $ hg identify -r 28ad74
       
   139   28ad74487de9
       
   140 
       
   141 `hg status`
       
   142 
       
   143   $ hg status --change 28ad74
       
   144   A c
       
   145 
       
   146 Commands with undefined cmdtype should not work right now
       
   147 
       
   148   $ hg phase -r 28ad74
       
   149   abort: hidden revision '28ad74'!
       
   150   (use --hidden to access hidden revisions)
       
   151   [255]
       
   152 
       
   153   $ hg phase -r 2
       
   154   abort: hidden revision '2'!
       
   155   (use --hidden to access hidden revisions)
       
   156   [255]