tests/test-evolve-obshistory-split.t
branchmercurial-5.0
changeset 5364 be5aa681c122
parent 5159 e5fe3ca5e6ad
parent 5362 72340abfcece
child 5368 844b1ad5b34b
equal deleted inserted replaced
5280:90fbbc29b93a 5364:be5aa681c122
     1 This test file test the various messages when accessing obsolete
     1 Testing obslog and other commands accessing obsolete revisions.
     2 revisions.
       
     3 
     2 
     4 Global setup
     3 Global setup
     5 ============
     4 ============
     6 
     5 
     7   $ . $TESTDIR/testlib/obshistory_setup.sh
     6   $ . $TESTDIR/testlib/obshistory_setup.sh
    96      summary:     ROOT
    95      summary:     ROOT
    97   
    96   
    98 Check output on the client side
    97 Check output on the client side
    99 -------------------------------
    98 -------------------------------
   100 
    99 
   101 Check that debugobshistory on split commit show both targets
   100 Check that obslog on split commit shows both targets
   102   $ hg obslog 471597cad322 --hidden --patch
   101   $ hg obslog 471597cad322 --hidden --patch --no-origin
   103   x  471597cad322 (1) A0
   102   x  471597cad322 (1) A0
   104        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   103        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   105          note: testing split
   104          note: testing split
   106          (No patch available, too many successors (2))
   105          (No patch available, too many successors (2))
   107   
   106   
   108   $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
   107   $ hg obslog 471597cad322 --hidden --no-graph --no-origin -Tjson | python -m json.tool
   109   [
   108   [
   110       {
   109       {
   111           "markers": [
   110           "markers": [
   112               {
   111               {
   113                   "date": [
   112                   "dates": [
   114                       *, (glob)
   113                       [
   115                       0
   114                           *, (glob)
       
   115                           0
       
   116                       ]
   116                   ],
   117                   ],
   117                   "effects": [
   118                   "effects": [
   118                       "parent",
   119                       "parent",
   119                       "content"
   120                       "content"
   120                   ],
   121                   ],
   121                   "note": "testing split",
   122                   "notes": [
   122                   "operation": "split",
   123                       "testing split"
       
   124                   ],
       
   125                   "operations": [
       
   126                       "split"
       
   127                   ],
   123                   "succnodes": [
   128                   "succnodes": [
   124                       "337fec4d2edcf0e7a467e35f818234bc620068b5",
   129                       "337fec4d2edcf0e7a467e35f818234bc620068b5",
   125                       "f257fde29c7a847c9b607f6e958656d0df0fb15c"
   130                       "f257fde29c7a847c9b607f6e958656d0df0fb15c"
   126                   ],
   131                   ],
   127                   "user": "test",
   132                   "users": [
       
   133                       "test"
       
   134                   ],
   128                   "verb": "split"
   135                   "verb": "split"
   129               }
   136               }
   130           ],
   137           ],
   131           "node": "471597cad322d1f659bb169751be9133dad92ef3",
   138           "node": "471597cad322d1f659bb169751be9133dad92ef3",
   132           "shortdescription": "A0"
   139           "shortdescription": "A0"
   133       }
   140       }
   134   ]
   141   ]
   135 Check that debugobshistory on the first successor after split show
   142   $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
   136 the revision plus the split one
   143   [
       
   144       {
       
   145           "markers": [],
       
   146           "node": "471597cad322d1f659bb169751be9133dad92ef3",
       
   147           "shortdescription": "A0"
       
   148       }
       
   149   ]
       
   150 Check that obslog on the first successor after split shows the revision plus
       
   151 the split one
   137   $ hg obslog 337fec4d2edc --patch
   152   $ hg obslog 337fec4d2edc --patch
   138   o  337fec4d2edc (2) A0
   153   o  337fec4d2edc (2) A0
   139   |
   154   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   140   x  471597cad322 (1) A0
   155   |      note: testing split
   141        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   156   |      diff -r 471597cad322 -r 337fec4d2edc b
   142          note: testing split
   157   |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
   143          (No patch available, too many successors (2))
   158   |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   144   
   159   |      @@ -1,1 +0,0 @@
   145 With the all option, it should show the three changesets
   160   |      -43
       
   161   |
       
   162   |
       
   163   x  471597cad322 (1) A0
       
   164   
       
   165 With the all option, it should show all three changesets
   146   $ hg obslog --all 337fec4d2edc --patch
   166   $ hg obslog --all 337fec4d2edc --patch
   147   o  337fec4d2edc (2) A0
   167   o  337fec4d2edc (2) A0
   148   |
   168   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   149   | @  f257fde29c7a (3) A0
   169   |      note: testing split
   150   |/
   170   |      diff -r 471597cad322 -r 337fec4d2edc b
   151   x  471597cad322 (1) A0
   171   |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
   152        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   172   |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   153          note: testing split
   173   |      @@ -1,1 +0,0 @@
   154          (No patch available, too many successors (2))
   174   |      -43
   155   
   175   |
   156 Check that debugobshistory on the second successor after split show
   176   |
   157 the revision plus the split one
   177   | @  f257fde29c7a (3) A0
       
   178   |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   179   |        note: testing split
       
   180   |        (No patch available, changesets rebased)
       
   181   |
       
   182   x  471597cad322 (1) A0
       
   183   
       
   184 Check that obslog on the second successor after split shows the revision plus
       
   185 the split one
   158   $ hg obslog f257fde29c7a --patch
   186   $ hg obslog f257fde29c7a --patch
   159   @  f257fde29c7a (3) A0
   187   @  f257fde29c7a (3) A0
   160   |
   188   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   189   |      note: testing split
       
   190   |      (No patch available, changesets rebased)
       
   191   |
       
   192   x  471597cad322 (1) A0
       
   193   
       
   194 With the all option, it should show all three changesets
       
   195   $ hg obslog f257fde29c7a --all --patch
       
   196   o  337fec4d2edc (2) A0
       
   197   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   198   |      note: testing split
       
   199   |      diff -r 471597cad322 -r 337fec4d2edc b
       
   200   |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
       
   201   |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
       
   202   |      @@ -1,1 +0,0 @@
       
   203   |      -43
       
   204   |
       
   205   |
       
   206   | @  f257fde29c7a (3) A0
       
   207   |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   208   |        note: testing split
       
   209   |        (No patch available, changesets rebased)
       
   210   |
       
   211   x  471597cad322 (1) A0
       
   212   
       
   213 Obslog with all option should also works on the split commit
       
   214   $ hg obslog -a 471597cad322 --hidden --patch --no-origin
       
   215   o  337fec4d2edc (2) A0
       
   216   |
       
   217   | @  f257fde29c7a (3) A0
       
   218   |/
   161   x  471597cad322 (1) A0
   219   x  471597cad322 (1) A0
   162        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   220        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   163          note: testing split
   221          note: testing split
   164          (No patch available, too many successors (2))
   222          (No patch available, too many successors (2))
   165   
   223   
   166 With the all option, it should show the three changesets
   224 Check that obslog on both successors after split shows a coherent graph
   167   $ hg obslog f257fde29c7a --all --patch
   225   $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch --no-origin
   168   o  337fec4d2edc (2) A0
   226   o  337fec4d2edc (2) A0
   169   |
   227   |
   170   | @  f257fde29c7a (3) A0
   228   | @  f257fde29c7a (3) A0
   171   |/
   229   |/
   172   x  471597cad322 (1) A0
   230   x  471597cad322 (1) A0
   173        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   231        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   174          note: testing split
   232          note: testing split
   175          (No patch available, too many successors (2))
   233          (No patch available, too many successors (2))
   176   
   234   
   177 Obslog with all option all should also works on the split commit
       
   178   $ hg obslog -a 471597cad322 --hidden --patch
       
   179   o  337fec4d2edc (2) A0
       
   180   |
       
   181   | @  f257fde29c7a (3) A0
       
   182   |/
       
   183   x  471597cad322 (1) A0
       
   184        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   185          note: testing split
       
   186          (No patch available, too many successors (2))
       
   187   
       
   188 Check that debugobshistory on both successors after split show
       
   189 a coherent graph
       
   190   $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch
   235   $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch
   191   o  337fec4d2edc (2) A0
   236   o  337fec4d2edc (2) A0
   192   |
   237   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   193   | @  f257fde29c7a (3) A0
   238   |      note: testing split
   194   |/
   239   |      diff -r 471597cad322 -r 337fec4d2edc b
   195   x  471597cad322 (1) A0
   240   |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
   196        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   241   |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
   197          note: testing split
   242   |      @@ -1,1 +0,0 @@
   198          (No patch available, too many successors (2))
   243   |      -43
       
   244   |
       
   245   |
       
   246   | @  f257fde29c7a (3) A0
       
   247   |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   248   |        note: testing split
       
   249   |        (No patch available, changesets rebased)
       
   250   |
       
   251   x  471597cad322 (1) A0
   199   
   252   
   200   $ hg update 471597cad322
   253   $ hg update 471597cad322
   201   abort: hidden revision '471597cad322' was split as: 337fec4d2edc, f257fde29c7a!
   254   abort: hidden revision '471597cad322' was split as: 337fec4d2edc, f257fde29c7a!
   202   (use --hidden to access hidden revisions)
   255   (use --hidden to access hidden revisions)
   203   [255]
   256   [255]
   209   (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a)
   262   (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a)
   210 
   263 
   211 Check output on the server side
   264 Check output on the server side
   212 -------------------------------
   265 -------------------------------
   213 
   266 
   214   $ hg obslog -R $TESTTMP/server --patch tip
   267   $ hg obslog -R $TESTTMP/server --patch tip --no-origin
   215   o  f257fde29c7a (2) A0
   268   o  f257fde29c7a (2) A0
   216   |
   269   |
   217   x  471597cad322
   270   x  471597cad322
   218        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   271        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   219          note: testing split
   272          note: testing split
   220          (No patch available, context is not local)
   273          (No patch available, context is not local)
   221   
   274   
   222   $ hg obslog -R $TESTTMP/server -f --patch tip
   275   $ hg obslog -R $TESTTMP/server -f --patch tip --no-origin
   223   o  f257fde29c7a (2) A0
   276   o  f257fde29c7a (2) A0
   224   
   277   
   225   $ hg obslog -R $TESTTMP/server --all --patch tip
   278   $ hg obslog -R $TESTTMP/server --all --patch tip --no-origin
   226   o  337fec4d2edc (1) A0
   279   o  337fec4d2edc (1) A0
   227   |
   280   |
   228   | o  f257fde29c7a (2) A0
   281   | o  f257fde29c7a (2) A0
   229   |/
   282   |/
   230   x  471597cad322
   283   x  471597cad322
   231        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   284        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   232          note: testing split
   285          note: testing split
   233          (No patch available, context is not local)
   286          (No patch available, context is not local)
   234   
   287   
   235   $ hg obslog -R $TESTTMP/server --all -f --patch tip
   288   $ hg obslog -R $TESTTMP/server --all -f --patch tip --no-origin
   236   o  337fec4d2edc (1) A0
   289   o  337fec4d2edc (1) A0
   237   
   290   
   238   o  f257fde29c7a (2) A0
   291   o  f257fde29c7a (2) A0
   239   
   292   
   240   $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip
   293   $ hg obslog -R $TESTTMP/server --no-graph --all --patch tip --no-origin
   241   f257fde29c7a (2) A0
   294   f257fde29c7a (2) A0
   242   
   295   
   243   471597cad322
   296   471597cad322
   244     split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   297     split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   245       note: testing split        
   298       note: testing split        
   246       (No patch available, context is not local)
   299       (No patch available, context is not local)
   247   
   300   
   248 
   301   337fec4d2edc (1) A0
       
   302   
       
   303   $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip --no-origin
       
   304   f257fde29c7a (2) A0
       
   305   
       
   306   337fec4d2edc (1) A0
       
   307   
       
   308 
       
   309   $ hg obslog -R $TESTTMP/server --patch tip
       
   310   o  f257fde29c7a (2) A0
       
   311   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   312   |      note: testing split
       
   313   |      (No patch available, predecessor is unknown locally)
       
   314   |
       
   315   x  471597cad322
       
   316   
       
   317   $ hg obslog -R $TESTTMP/server -f --patch tip
       
   318   o  f257fde29c7a (2) A0
       
   319   
       
   320   $ hg obslog -R $TESTTMP/server --all --patch tip
       
   321   o  337fec4d2edc (1) A0
       
   322   |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   323   |      note: testing split
       
   324   |      (No patch available, predecessor is unknown locally)
       
   325   |
       
   326   | o  f257fde29c7a (2) A0
       
   327   |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   328   |        note: testing split
       
   329   |        (No patch available, predecessor is unknown locally)
       
   330   |
       
   331   x  471597cad322
       
   332   
       
   333   $ hg obslog -R $TESTTMP/server --all -f --patch tip
       
   334   o  337fec4d2edc (1) A0
       
   335   
       
   336   o  f257fde29c7a (2) A0
       
   337   
       
   338   $ hg obslog -R $TESTTMP/server --no-graph --all --patch tip
       
   339   f257fde29c7a (2) A0
       
   340     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   341       note: testing split        
       
   342       (No patch available, predecessor is unknown locally)
       
   343   
       
   344   471597cad322
       
   345   
       
   346   337fec4d2edc (1) A0
       
   347     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
       
   348       note: testing split        
       
   349       (No patch available, predecessor is unknown locally)
       
   350   
   249   $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip
   351   $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip
   250   f257fde29c7a (2) A0
   352   f257fde29c7a (2) A0
   251   
   353   
   252   471597cad322
   354   337fec4d2edc (1) A0
   253     split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
   355   
   254       note: testing split        
       
   255       (No patch available, context is not local)
       
   256