tests/test-wireproto-exchangev2-shallow.t
changeset 48526 04688c51f81f
parent 48525 d6c53b40b078
child 48527 bf5dc156bb4c
equal deleted inserted replaced
48525:d6c53b40b078 48526:04688c51f81f
     1 #require sqlite
       
     2 
       
     3 Tests for wire protocol version 2 exchange.
       
     4 Tests in this file should be folded into existing tests once protocol
       
     5 v2 has enough features that it can be enabled via #testcase in existing
       
     6 tests.
       
     7 
       
     8   $ . $TESTDIR/wireprotohelpers.sh
       
     9   $ enablehttpv2client
       
    10   $ cat >> $HGRCPATH << EOF
       
    11   > [extensions]
       
    12   > sqlitestore =
       
    13   > pullext = $TESTDIR/pullext.py
       
    14   > [storage]
       
    15   > new-repo-backend=sqlite
       
    16   > EOF
       
    17 
       
    18 Configure a server
       
    19 
       
    20   $ hg init server-basic
       
    21   $ enablehttpv2 server-basic
       
    22   $ cd server-basic
       
    23   $ mkdir dir0 dir1
       
    24   $ echo a0 > a
       
    25   $ echo b0 > b
       
    26   $ hg -q commit -A -m 'commit 0'
       
    27   $ echo c0 > dir0/c
       
    28   $ echo d0 > dir0/d
       
    29   $ hg -q commit -A -m 'commit 1'
       
    30   $ echo e0 > dir1/e
       
    31   $ echo f0 > dir1/f
       
    32   $ hg -q commit -A -m 'commit 2'
       
    33   $ echo c1 > dir0/c
       
    34   $ echo e1 > dir1/e
       
    35   $ hg commit -m 'commit 3'
       
    36   $ echo c2 > dir0/c
       
    37   $ echo e2 > dir1/e
       
    38   $ echo f1 > dir1/f
       
    39   $ hg commit -m 'commit 4'
       
    40   $ echo a1 > a
       
    41   $ echo b1 > b
       
    42   $ hg commit -m 'commit 5'
       
    43 
       
    44   $ hg log -G -T '{node} {desc}'
       
    45   @  93a8bd067ed2840d9aa810ad598168383a3a2c3a commit 5
       
    46   |
       
    47   o  dc666cf9ecf3d94e6b830f30e5f1272e2a9164d9 commit 4
       
    48   |
       
    49   o  97765fc3cd624fd1fa0176932c21ffd16adf432e commit 3
       
    50   |
       
    51   o  47fe012ab237a8c7fc0c78f9f26d5866eef3f825 commit 2
       
    52   |
       
    53   o  b709380892b193c1091d3a817f706052e346821b commit 1
       
    54   |
       
    55   o  3390ef850073fbc2f0dfff2244342c8e9229013a commit 0
       
    56   
       
    57   $ hg serve -p $HGPORT -d --pid-file hg.pid -E error.log
       
    58   $ cat hg.pid > $DAEMON_PIDS
       
    59 
       
    60   $ cd ..
       
    61 
       
    62 Shallow clone pulls down latest revision of every file
       
    63 
       
    64   $ hg --debug clone --depth 1 http://localhost:$HGPORT client-shallow-1
       
    65   using http://localhost:$HGPORT/
       
    66   sending capabilities command
       
    67   query 1; heads
       
    68   sending 2 commands
       
    69   sending command heads: {}
       
    70   sending command known: {
       
    71     'nodes': []
       
    72   }
       
    73   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
    74   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
    75   received frame(size=22; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
    76   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
    77   received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
    78   received frame(size=1; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
    79   received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
       
    80   sending 1 commands
       
    81   sending command changesetdata: {
       
    82     'fields': set([
       
    83       'bookmarks',
       
    84       'parents',
       
    85       'phase',
       
    86       'revision'
       
    87     ]),
       
    88     'revisions': [
       
    89       {
       
    90         'heads': [
       
    91           '\x93\xa8\xbd\x06~\xd2\x84\r\x9a\xa8\x10\xadY\x81h8::,:'
       
    92         ],
       
    93         'roots': [],
       
    94         'type': 'changesetdagrange'
       
    95       }
       
    96     ]
       
    97   }
       
    98   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
    99   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   100   received frame(size=1170; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   101   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   102   add changeset 3390ef850073
       
   103   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   104   add changeset b709380892b1
       
   105   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   106   add changeset 47fe012ab237
       
   107   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   108   add changeset 97765fc3cd62
       
   109   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   110   add changeset dc666cf9ecf3
       
   111   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   112   add changeset 93a8bd067ed2
       
   113   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   114   checking for updated bookmarks
       
   115   sending 1 commands
       
   116   sending command manifestdata: {
       
   117     'fields': set([
       
   118       'parents',
       
   119       'revision'
       
   120     ]),
       
   121     'haveparents': True,
       
   122     'nodes': [
       
   123       '\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A',
       
   124       '|2 \x1a\xa3\xa1R\xa9\xe6\xa9"+?\xa8\xd0\xe3\x0f\xc2V\xe8',
       
   125       '\x8d\xd0W<\x7f\xaf\xe2\x04F\xcc\xea\xac\x05N\xea\xa4x\x91M\xdb',
       
   126       '113\x85\xf2!\x8b\x08^\xb2Z\x821\x1e*\xdd\x0e\xeb\x8c3',
       
   127       'H]O\xc2`\xef\\\xb9\xc0p6\x88K\x00k\x11\x0ej\xdby',
       
   128       '\xd9;\xc4\x0b\x0e*GMp\xee\xf7}^\x91/f\x7fSd\x83'
       
   129     ],
       
   130     'tree': ''
       
   131   }
       
   132   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   133   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   134   received frame(size=1515; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   135   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   136   sending 1 commands
       
   137   sending command filesdata: {
       
   138     'fields': set([
       
   139       'linknode',
       
   140       'parents',
       
   141       'revision'
       
   142     ]),
       
   143     'haveparents': False,
       
   144     'revisions': [
       
   145       {
       
   146         'nodes': [
       
   147           '\x93\xa8\xbd\x06~\xd2\x84\r\x9a\xa8\x10\xadY\x81h8::,:'
       
   148         ],
       
   149         'type': 'changesetexplicit'
       
   150       }
       
   151     ]
       
   152   }
       
   153   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   154   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   155   received frame(size=1005; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   156   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   157   updating the branch cache
       
   158   new changesets 3390ef850073:93a8bd067ed2
       
   159   updating to branch default
       
   160   resolving manifests
       
   161    branchmerge: False, force: False, partial: False
       
   162    ancestor: 000000000000, local: 000000000000+, remote: 93a8bd067ed2
       
   163    a: remote created -> g
       
   164   getting a
       
   165    b: remote created -> g
       
   166   getting b
       
   167    dir0/c: remote created -> g
       
   168   getting dir0/c
       
   169    dir0/d: remote created -> g
       
   170   getting dir0/d
       
   171    dir1/e: remote created -> g
       
   172   getting dir1/e
       
   173    dir1/f: remote created -> g
       
   174   getting dir1/f
       
   175   6 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   176   updating the branch cache
       
   177   (sent 5 HTTP requests and * bytes; received * bytes in responses) (glob)
       
   178 
       
   179 #if chg
       
   180   $ hg --kill-chg-daemon
       
   181   $ sleep 2
       
   182 #endif
       
   183   $ sqlite3 -line client-shallow-1/.hg/store/db.sqlite << EOF
       
   184   > SELECT id, path, revnum, node, p1rev, p2rev, linkrev, flags FROM filedata ORDER BY id ASC;
       
   185   > EOF
       
   186        id = 1
       
   187      path = a
       
   188    revnum = 0
       
   189      node = \x9a8\x12)\x97\xb3\xac\x97\xbe*\x9a\xa2\xe5V\x83\x83A\xfd\xf2\xcc (esc)
       
   190     p1rev = -1
       
   191     p2rev = -1
       
   192   linkrev = 5
       
   193     flags = 2
       
   194   
       
   195        id = 2
       
   196      path = b
       
   197    revnum = 0
       
   198      node = \xb1zk\xd3g=\x9a\xb8\xce\xd5\x81\xa2	\xf6/=\xa5\xccEx (esc)
       
   199     p1rev = -1
       
   200     p2rev = -1
       
   201   linkrev = 5
       
   202     flags = 2
       
   203   
       
   204        id = 3
       
   205      path = dir0/c
       
   206    revnum = 0
       
   207      node = I\x1d\xa1\xbb\x89\xeax\xc0\xc0\xa2s[\x16\xce}\x93\x1d\xc8\xe2\r (esc)
       
   208     p1rev = -1
       
   209     p2rev = -1
       
   210   linkrev = 5
       
   211     flags = 2
       
   212   
       
   213        id = 4
       
   214      path = dir0/d
       
   215    revnum = 0
       
   216      node = S\x82\x06\xdc\x97\x1eR\x15@\xd6\x84:\xbf\xe6\xd1`2\xf6\xd4& (esc)
       
   217     p1rev = -1
       
   218     p2rev = -1
       
   219   linkrev = 5
       
   220     flags = 0
       
   221   
       
   222        id = 5
       
   223      path = dir1/e
       
   224    revnum = 0
       
   225      node = ]\xf3\xac\xd8\xd0\xc7\xfaP\x98\xd0'\x9a\x044\xc3\x02\x9e+x\xe1 (esc)
       
   226     p1rev = -1
       
   227     p2rev = -1
       
   228   linkrev = 5
       
   229     flags = 2
       
   230   
       
   231        id = 6
       
   232      path = dir1/f
       
   233    revnum = 0
       
   234      node = (\xc7v\xae\x08\xd0\xd5^\xb4\x06H\xb4\x01\xb9\x0f\xf5DH4\x8e (esc)
       
   235     p1rev = -1
       
   236     p2rev = -1
       
   237   linkrev = 5
       
   238     flags = 2
       
   239 
       
   240 Test a shallow clone with only some files
       
   241 
       
   242   $ hg --debug clone --depth 1 --include dir0/ http://localhost:$HGPORT client-shallow-narrow-1
       
   243   using http://localhost:$HGPORT/
       
   244   sending capabilities command
       
   245   query 1; heads
       
   246   sending 2 commands
       
   247   sending command heads: {}
       
   248   sending command known: {
       
   249     'nodes': []
       
   250   }
       
   251   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   252   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   253   received frame(size=22; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   254   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   255   received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   256   received frame(size=1; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   257   received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
       
   258   sending 1 commands
       
   259   sending command changesetdata: {
       
   260     'fields': set([
       
   261       'bookmarks',
       
   262       'parents',
       
   263       'phase',
       
   264       'revision'
       
   265     ]),
       
   266     'revisions': [
       
   267       {
       
   268         'heads': [
       
   269           '\x93\xa8\xbd\x06~\xd2\x84\r\x9a\xa8\x10\xadY\x81h8::,:'
       
   270         ],
       
   271         'roots': [],
       
   272         'type': 'changesetdagrange'
       
   273       }
       
   274     ]
       
   275   }
       
   276   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   277   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   278   received frame(size=1170; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   279   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   280   add changeset 3390ef850073
       
   281   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   282   add changeset b709380892b1
       
   283   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   284   add changeset 47fe012ab237
       
   285   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   286   add changeset 97765fc3cd62
       
   287   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   288   add changeset dc666cf9ecf3
       
   289   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   290   add changeset 93a8bd067ed2
       
   291   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   292   checking for updated bookmarks
       
   293   sending 1 commands
       
   294   sending command manifestdata: {
       
   295     'fields': set([
       
   296       'parents',
       
   297       'revision'
       
   298     ]),
       
   299     'haveparents': True,
       
   300     'nodes': [
       
   301       '\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A',
       
   302       '|2 \x1a\xa3\xa1R\xa9\xe6\xa9"+?\xa8\xd0\xe3\x0f\xc2V\xe8',
       
   303       '\x8d\xd0W<\x7f\xaf\xe2\x04F\xcc\xea\xac\x05N\xea\xa4x\x91M\xdb',
       
   304       '113\x85\xf2!\x8b\x08^\xb2Z\x821\x1e*\xdd\x0e\xeb\x8c3',
       
   305       'H]O\xc2`\xef\\\xb9\xc0p6\x88K\x00k\x11\x0ej\xdby',
       
   306       '\xd9;\xc4\x0b\x0e*GMp\xee\xf7}^\x91/f\x7fSd\x83'
       
   307     ],
       
   308     'tree': ''
       
   309   }
       
   310   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   311   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   312   received frame(size=1515; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   313   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   314   sending 1 commands
       
   315   sending command filesdata: {
       
   316     'fields': set([
       
   317       'linknode',
       
   318       'parents',
       
   319       'revision'
       
   320     ]),
       
   321     'haveparents': False,
       
   322     'pathfilter': {
       
   323       'include': [
       
   324         'path:dir0'
       
   325       ]
       
   326     },
       
   327     'revisions': [
       
   328       {
       
   329         'nodes': [
       
   330           '\x93\xa8\xbd\x06~\xd2\x84\r\x9a\xa8\x10\xadY\x81h8::,:'
       
   331         ],
       
   332         'type': 'changesetexplicit'
       
   333       }
       
   334     ]
       
   335   }
       
   336   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   337   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   338   received frame(size=355; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   339   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   340   updating the branch cache
       
   341   new changesets 3390ef850073:93a8bd067ed2
       
   342   updating to branch default
       
   343   resolving manifests
       
   344    branchmerge: False, force: False, partial: False
       
   345    ancestor: 000000000000, local: 000000000000+, remote: 93a8bd067ed2
       
   346    dir0/c: remote created -> g
       
   347   getting dir0/c
       
   348    dir0/d: remote created -> g
       
   349   getting dir0/d
       
   350   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   351   updating the branch cache
       
   352   (sent 5 HTTP requests and * bytes; received * bytes in responses) (glob)
       
   353 
       
   354 #if chg
       
   355   $ hg --kill-chg-daemon
       
   356   $ sleep 2
       
   357 #endif
       
   358   $ sqlite3 -line client-shallow-narrow-1/.hg/store/db.sqlite << EOF
       
   359   > SELECT id, path, revnum, node, p1rev, p2rev, linkrev, flags FROM filedata ORDER BY id ASC;
       
   360   > EOF
       
   361        id = 1
       
   362      path = dir0/c
       
   363    revnum = 0
       
   364      node = I\x1d\xa1\xbb\x89\xeax\xc0\xc0\xa2s[\x16\xce}\x93\x1d\xc8\xe2\r (esc)
       
   365     p1rev = -1
       
   366     p2rev = -1
       
   367   linkrev = 5
       
   368     flags = 2
       
   369   
       
   370        id = 2
       
   371      path = dir0/d
       
   372    revnum = 0
       
   373      node = S\x82\x06\xdc\x97\x1eR\x15@\xd6\x84:\xbf\xe6\xd1`2\xf6\xd4& (esc)
       
   374     p1rev = -1
       
   375     p2rev = -1
       
   376   linkrev = 5
       
   377     flags = 0
       
   378 
       
   379 Cloning an old revision with depth=1 works
       
   380 
       
   381   $ hg --debug clone --depth 1 -r 97765fc3cd624fd1fa0176932c21ffd16adf432e http://localhost:$HGPORT client-shallow-2
       
   382   using http://localhost:$HGPORT/
       
   383   sending capabilities command
       
   384   sending 1 commands
       
   385   sending command lookup: {
       
   386     'key': '97765fc3cd624fd1fa0176932c21ffd16adf432e'
       
   387   }
       
   388   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   389   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   390   received frame(size=21; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   391   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   392   query 1; heads
       
   393   sending 2 commands
       
   394   sending command heads: {}
       
   395   sending command known: {
       
   396     'nodes': []
       
   397   }
       
   398   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   399   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   400   received frame(size=22; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   401   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   402   received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   403   received frame(size=1; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   404   received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
       
   405   sending 1 commands
       
   406   sending command changesetdata: {
       
   407     'fields': set([
       
   408       'bookmarks',
       
   409       'parents',
       
   410       'phase',
       
   411       'revision'
       
   412     ]),
       
   413     'revisions': [
       
   414       {
       
   415         'heads': [
       
   416           '\x97v_\xc3\xcdbO\xd1\xfa\x01v\x93,!\xff\xd1j\xdfC.'
       
   417         ],
       
   418         'roots': [],
       
   419         'type': 'changesetdagrange'
       
   420       }
       
   421     ]
       
   422   }
       
   423   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   424   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   425   received frame(size=783; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   426   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   427   add changeset 3390ef850073
       
   428   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   429   add changeset b709380892b1
       
   430   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   431   add changeset 47fe012ab237
       
   432   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   433   add changeset 97765fc3cd62
       
   434   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   435   checking for updated bookmarks
       
   436   sending 1 commands
       
   437   sending command manifestdata: {
       
   438     'fields': set([
       
   439       'parents',
       
   440       'revision'
       
   441     ]),
       
   442     'haveparents': True,
       
   443     'nodes': [
       
   444       '\x99/Gy\x02\x9a=\xf8\xd0fm\x00\xbb\x92OicN&A',
       
   445       '|2 \x1a\xa3\xa1R\xa9\xe6\xa9"+?\xa8\xd0\xe3\x0f\xc2V\xe8',
       
   446       '\x8d\xd0W<\x7f\xaf\xe2\x04F\xcc\xea\xac\x05N\xea\xa4x\x91M\xdb',
       
   447       '113\x85\xf2!\x8b\x08^\xb2Z\x821\x1e*\xdd\x0e\xeb\x8c3'
       
   448     ],
       
   449     'tree': ''
       
   450   }
       
   451   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   452   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   453   received frame(size=967; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   454   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   455   sending 1 commands
       
   456   sending command filesdata: {
       
   457     'fields': set([
       
   458       'linknode',
       
   459       'parents',
       
   460       'revision'
       
   461     ]),
       
   462     'haveparents': False,
       
   463     'revisions': [
       
   464       {
       
   465         'nodes': [
       
   466           '\x97v_\xc3\xcdbO\xd1\xfa\x01v\x93,!\xff\xd1j\xdfC.'
       
   467         ],
       
   468         'type': 'changesetexplicit'
       
   469       }
       
   470     ]
       
   471   }
       
   472   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   473   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   474   received frame(size=1005; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   475   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   476   updating the branch cache
       
   477   new changesets 3390ef850073:97765fc3cd62
       
   478   updating to branch default
       
   479   resolving manifests
       
   480    branchmerge: False, force: False, partial: False
       
   481    ancestor: 000000000000, local: 000000000000+, remote: 97765fc3cd62
       
   482    a: remote created -> g
       
   483   getting a
       
   484    b: remote created -> g
       
   485   getting b
       
   486    dir0/c: remote created -> g
       
   487   getting dir0/c
       
   488    dir0/d: remote created -> g
       
   489   getting dir0/d
       
   490    dir1/e: remote created -> g
       
   491   getting dir1/e
       
   492    dir1/f: remote created -> g
       
   493   getting dir1/f
       
   494   6 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   495   updating the branch cache
       
   496   (sent 6 HTTP requests and * bytes; received * bytes in responses) (glob)
       
   497 
       
   498 Incremental pull of shallow clone fetches new changesets
       
   499 
       
   500   $ hg --cwd client-shallow-2 --debug pull http://localhost:$HGPORT
       
   501   pulling from http://localhost:$HGPORT/
       
   502   using http://localhost:$HGPORT/
       
   503   sending capabilities command
       
   504   query 1; heads
       
   505   sending 2 commands
       
   506   sending command heads: {}
       
   507   sending command known: {
       
   508     'nodes': [
       
   509       '\x97v_\xc3\xcdbO\xd1\xfa\x01v\x93,!\xff\xd1j\xdfC.'
       
   510     ]
       
   511   }
       
   512   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   513   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   514   received frame(size=22; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   515   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   516   received frame(size=11; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   517   received frame(size=2; request=3; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   518   received frame(size=0; request=3; stream=2; streamflags=; type=command-response; flags=eos)
       
   519   searching for changes
       
   520   all local changesets known remotely
       
   521   sending 1 commands
       
   522   sending command changesetdata: {
       
   523     'fields': set([
       
   524       'bookmarks',
       
   525       'parents',
       
   526       'phase',
       
   527       'revision'
       
   528     ]),
       
   529     'revisions': [
       
   530       {
       
   531         'heads': [
       
   532           '\x93\xa8\xbd\x06~\xd2\x84\r\x9a\xa8\x10\xadY\x81h8::,:'
       
   533         ],
       
   534         'roots': [
       
   535           '\x97v_\xc3\xcdbO\xd1\xfa\x01v\x93,!\xff\xd1j\xdfC.'
       
   536         ],
       
   537         'type': 'changesetdagrange'
       
   538       }
       
   539     ]
       
   540   }
       
   541   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   542   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   543   received frame(size=400; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   544   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   545   add changeset dc666cf9ecf3
       
   546   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   547   add changeset 93a8bd067ed2
       
   548   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos) (?)
       
   549   checking for updated bookmarks
       
   550   sending 1 commands
       
   551   sending command manifestdata: {
       
   552     'fields': set([
       
   553       'parents',
       
   554       'revision'
       
   555     ]),
       
   556     'haveparents': True,
       
   557     'nodes': [
       
   558       'H]O\xc2`\xef\\\xb9\xc0p6\x88K\x00k\x11\x0ej\xdby',
       
   559       '\xd9;\xc4\x0b\x0e*GMp\xee\xf7}^\x91/f\x7fSd\x83'
       
   560     ],
       
   561     'tree': ''
       
   562   }
       
   563   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   564   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   565   received frame(size=561; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   566   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   567   sending 1 commands
       
   568   sending command filesdata: {
       
   569     'fields': set([
       
   570       'linknode',
       
   571       'parents',
       
   572       'revision'
       
   573     ]),
       
   574     'haveparents': False,
       
   575     'revisions': [
       
   576       {
       
   577         'nodes': [
       
   578           '\xdcfl\xf9\xec\xf3\xd9Nk\x83\x0f0\xe5\xf1\'.*\x91d\xd9',
       
   579           '\x93\xa8\xbd\x06~\xd2\x84\r\x9a\xa8\x10\xadY\x81h8::,:'
       
   580         ],
       
   581         'type': 'changesetexplicit'
       
   582       }
       
   583     ]
       
   584   }
       
   585   received frame(size=9; request=1; stream=2; streamflags=stream-begin; type=stream-settings; flags=eos)
       
   586   received frame(size=11; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   587   received frame(size=1373; request=1; stream=2; streamflags=encoded; type=command-response; flags=continuation)
       
   588   received frame(size=0; request=1; stream=2; streamflags=; type=command-response; flags=eos)
       
   589   updating the branch cache
       
   590   new changesets dc666cf9ecf3:93a8bd067ed2
       
   591   (run 'hg update' to get a working copy)
       
   592   (sent 5 HTTP requests and * bytes; received * bytes in responses) (glob)
       
   593 
       
   594   $ hg --cwd client-shallow-2 up tip
       
   595   merging dir0/c
       
   596   merging dir1/e
       
   597   3 files updated, 2 files merged, 0 files removed, 0 files unresolved