tests/test-bundle2-format.t
author Gregory Szorc <gregory.szorc@gmail.com>
Fri, 19 May 2017 20:29:11 -0700
changeset 32697 19b9fc40cc51
parent 32337 46ba2cdda476
child 33097 fce4ed2912bb
permissions -rw-r--r--
revlog: skeleton support for version 2 revlogs There are a number of improvements we want to make to revlogs that will require a new version - version 2. It is unclear what the full set of improvements will be or when we'll be done with them. What I do know is that the process will likely take longer than a single release, will require input from various stakeholders to evaluate changes, and will have many contentious debates and bikeshedding. It is unrealistic to develop revlog version 2 up front: there are just too many uncertainties that we won't know until things are implemented and experiments are run. Some changes will also be invasive and prone to bit rot, so sitting on dozens of patches is not practical. This commit introduces skeleton support for version 2 revlogs in a way that is flexible and not bound by backwards compatibility concerns. An experimental repo requirement for denoting revlog v2 has been added. The requirement string has a sub-version component to it. This will allow us to declare multiple requirements in the course of developing revlog v2. Whenever we change the in-development revlog v2 format, we can tweak the string, creating a new requirement and locking out old clients. This will allow us to make as many backwards incompatible changes and experiments to revlog v2 as we want. In other words, we can land code and make meaningful progress towards revlog v2 while still maintaining extreme format flexibility up until the point we freeze the format and remove the experimental labels. To enable the new repo requirement, you must supply an experimental and undocumented config option. But not just any boolean flag will do: you need to explicitly use a value that no sane person should ever type. This is an additional guard against enabling revlog v2 on an installation it shouldn't be enabled on. The specific scenario I'm trying to prevent is say a user with a 4.4 client with a frozen format enabling the option but then downgrading to 4.3 and accidentally creating repos with an outdated and unsupported repo format. Requiring a "challenge" string should prevent this. Because the format is not yet finalized and I don't want to take any chances, revlog v2's version is currently 0xDEAD. I figure squatting on a value we're likely never to use as an actual revlog version to mean "internal testing only" is acceptable. And "dead" is easily recognized as something meaningful. There is a bunch of cleanup that is needed before work on revlog v2 begins in earnest. I plan on doing that work once this patch is accepted and we're comfortable with the idea of starting down this path.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23139
e53f6b72a0e4 spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents: 23067
diff changeset
     1
This test is dedicated to test the bundle2 container format
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
     2
22660
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
     3
It test multiple existing parts to test different feature of the container. You
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
     4
probably do not need to touch this test unless you change the binary encoding
978cce51cc5f bundle2: split test in two
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22659
diff changeset
     5
of the bundle2 format itself.
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
Create an extension to test bundle2 API
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
  $ cat > bundle2.py << EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
  > """A small extension to test bundle2 implementation
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    11
  > 
28238
b57d45ec33b2 test: update test-bundle2-format.t comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27539
diff changeset
    12
  > This extension allows detailed testing of the various bundle2 API and
b57d45ec33b2 test: update test-bundle2-format.t comment
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27539
diff changeset
    13
  > behaviors.
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    14
  > """
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    15
  > 
27539
23541bdd1610 test-bundle2-format: force gc so a GeneratorExit will be thrown
Bryan O'Sullivan <bos@serpentine.com>
parents: 26772
diff changeset
    16
  > import sys, os, gc
21956
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    17
  > from mercurial import util
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    18
  > from mercurial import bundle2
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    19
  > from mercurial import scmutil
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    20
  > from mercurial import discovery
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    21
  > from mercurial import changegroup
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    22
  > from mercurial import error
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    23
  > from mercurial import obsolete
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32287
diff changeset
    24
  > from mercurial import registrar
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
    25
  > 
21956
93b804fced5a test-bundle2: move file mode setting after sys import
Matt Mackall <mpm@selenic.com>
parents: 21941
diff changeset
    26
  > 
21547
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    27
  > try:
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    28
  >     import msvcrt
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    29
  >     msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY)
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    30
  >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    31
  >     msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    32
  > except ImportError:
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    33
  >     pass
565d45919db8 bundle2: make sure standard stream are binary
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21187
diff changeset
    34
  > 
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    35
  > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 32287
diff changeset
    36
  > command = registrar.command(cmdtable)
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    37
  > 
20876
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
    38
  > ELEPHANTSSONG = """Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
    39
  > Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
    40
  > Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko."""
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
    41
  > assert len(ELEPHANTSSONG) == 178 # future test say 178 bytes, trust it.
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
    42
  > 
20890
ec7fc110faee bundle2: introduce a `parthandler` decorator
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20889
diff changeset
    43
  > @bundle2.parthandler('test:song')
20948
329cd74b52bd bundle2: introduce a bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20947
diff changeset
    44
  > def songhandler(op, part):
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
    45
  >     """handle a "test:song" bundle2 part, printing the lyrics on stdin"""
20948
329cd74b52bd bundle2: introduce a bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20947
diff changeset
    46
  >     op.ui.write('The choir starts singing:\n')
20949
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
    47
  >     verses = 0
21019
3dc09f831a2e bundle2: lazy unbundle of part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21017
diff changeset
    48
  >     for line in part.read().split('\n'):
20948
329cd74b52bd bundle2: introduce a bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20947
diff changeset
    49
  >         op.ui.write('    %s\n' % line)
20949
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
    50
  >         verses += 1
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
    51
  >     op.records.add('song', {'verses': verses})
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
    52
  > 
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
    53
  > @bundle2.parthandler('test:ping')
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
    54
  > def pinghandler(op, part):
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
    55
  >     op.ui.write('received ping request (id %i)\n' % part.id)
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    56
  >     if op.reply is not None and 'ping-pong' in op.reply.capabilities:
21133
bef4a2adc532 bundle2: include stderr when capturing handlers output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21131
diff changeset
    57
  >         op.ui.write_err('replying to ping request (id %i)\n' % part.id)
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
    58
  >         op.reply.newpart('test:pong', [('in-reply-to', str(part.id))],
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
    59
  >                          mandatory=False)
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
    60
  > 
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    61
  > @bundle2.parthandler('test:debugreply')
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    62
  > def debugreply(op, part):
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    63
  >     """print data about the capacity of the bundle reply"""
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    64
  >     if op.reply is None:
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    65
  >         op.ui.write('debugreply: no reply\n')
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    66
  >     else:
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    67
  >         op.ui.write('debugreply: capabilities:\n')
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    68
  >         for cap in sorted(op.reply.capabilities):
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
    69
  >             op.ui.write('debugreply:     %r\n' % cap)
21136
b6fd496e5c72 bundle2: support for capabilities with values
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21135
diff changeset
    70
  >             for val in op.reply.capabilities[cap]:
b6fd496e5c72 bundle2: support for capabilities with values
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21135
diff changeset
    71
  >                 op.ui.write('debugreply:         %r\n' % val)
b6fd496e5c72 bundle2: support for capabilities with values
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21135
diff changeset
    72
  > 
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
    73
  > @command('bundle2',
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
    74
  >          [('', 'param', [], 'stream level parameter'),
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
    75
  >           ('', 'unknown', False, 'include an unknown mandatory part in the bundle'),
21625
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
    76
  >           ('', 'unknownparams', False, 'include an unknown part parameters in the bundle'),
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
    77
  >           ('', 'parts', False, 'include some arbitrary parts to the bundle'),
21130
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
    78
  >           ('', 'reply', False, 'produce a reply bundle'),
21184
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
    79
  >           ('', 'pushrace', False, 'includes a check:head part with unknown nodes'),
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
    80
  >           ('', 'genraise', False, 'includes a part that raise an exception during generation'),
26144
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
    81
  >           ('', 'timeout', False, 'emulate a timeout during bundle generation'),
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
    82
  >           ('r', 'rev', [], 'includes those changeset in the bundle'),
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
    83
  >           ('', 'compress', '', 'compress the stream'),],
20841
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
    84
  >          '[OUTPUTFILE]')
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
    85
  > def cmdbundle2(ui, repo, path=None, **opts):
23543
4dd8a6a1240d spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents: 23139
diff changeset
    86
  >     """write a bundle2 container on standard output"""
20842
938718d72624 bundle2: print debug information during bundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20841
diff changeset
    87
  >     bundler = bundle2.bundle20(ui)
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
    88
  >     for p in opts['param']:
20809
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
    89
  >         p = p.split('=', 1)
20813
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
    90
  >         try:
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
    91
  >             bundler.addparam(*p)
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
    92
  >         except ValueError, exc:
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26539
diff changeset
    93
  >             raise error.Abort('%s' % exc)
20809
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
    94
  > 
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
    95
  >     if opts['compress']:
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
    96
  >         bundler.setcompression(opts['compress'])
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
    97
  > 
21130
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
    98
  >     if opts['reply']:
21137
341a083603a5 bundle2: protect capabilities name and values with url quoting
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21136
diff changeset
    99
  >         capsstring = 'ping-pong\nelephants=babar,celeste\ncity%3D%21=celeste%2Cville'
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   100
  >         bundler.newpart('replycaps', data=capsstring)
21130
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
   101
  > 
21184
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   102
  >     if opts['pushrace']:
21604
c399bf961cb9 bundle2: the ability to set ``data`` attribute of the part is now official
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21600
diff changeset
   103
  >         # also serve to test the assignement of data outside of init
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   104
  >         part = bundler.newpart('check:heads')
21604
c399bf961cb9 bundle2: the ability to set ``data`` attribute of the part is now official
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21600
diff changeset
   105
  >         part.data = '01234567890123456789'
21184
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   106
  > 
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   107
  >     revs = opts['rev']
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   108
  >     if 'rev' in opts:
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   109
  >         revs = scmutil.revrange(repo, opts['rev'])
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   110
  >         if revs:
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   111
  >             # very crude version of a changegroup part creation
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   112
  >             bundled = repo.revs('%ld::%ld', revs, revs)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   113
  >             headmissing = [c.node() for c in repo.set('heads(%ld)', revs)]
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   114
  >             headcommon  = [c.node() for c in repo.set('parents(%ld) - %ld', revs, revs)]
29804
7b9157aa752f outgoing: pass a repo object to the constructor
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
   115
  >             outgoing = discovery.outgoing(repo, headcommon, headmissing)
32287
df3cf9422e1b changegroup: add bundlecaps back
Durham Goode <durham@fb.com>
parents: 32167
diff changeset
   116
  >             cg = changegroup.getchangegroup(repo, 'test:bundle2', outgoing, None)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   117
  >             bundler.newpart('changegroup', data=cg.getchunks(),
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   118
  >                             mandatory=False)
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   119
  > 
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   120
  >     if opts['parts']:
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   121
  >        bundler.newpart('test:empty', mandatory=False)
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   122
  >        # add a second one to make sure we handle multiple parts
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   123
  >        bundler.newpart('test:empty', mandatory=False)
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   124
  >        bundler.newpart('test:song', data=ELEPHANTSSONG, mandatory=False)
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   125
  >        bundler.newpart('test:debugreply', mandatory=False)
21605
f9dabfceb259 bundle2: introduce a ``addparam`` method on part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21604
diff changeset
   126
  >        mathpart = bundler.newpart('test:math')
f9dabfceb259 bundle2: introduce a ``addparam`` method on part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21604
diff changeset
   127
  >        mathpart.addparam('pi', '3.14')
f9dabfceb259 bundle2: introduce a ``addparam`` method on part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21604
diff changeset
   128
  >        mathpart.addparam('e', '2.72')
f9dabfceb259 bundle2: introduce a ``addparam`` method on part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21604
diff changeset
   129
  >        mathpart.addparam('cooking', 'raw', mandatory=False)
f9dabfceb259 bundle2: introduce a ``addparam`` method on part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21604
diff changeset
   130
  >        mathpart.data = '42'
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   131
  >        mathpart.mandatory = False
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   132
  >        # advisory known part with unknown mandatory param
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   133
  >        bundler.newpart('test:song', [('randomparam','')], mandatory=False)
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   134
  >     if opts['unknown']:
23591
414374cfb531 bundle2: lowercase part types
Eric Sumner <ericsumner@fb.com>
parents: 23590
diff changeset
   135
  >        bundler.newpart('test:unknown', data='some random content')
21625
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   136
  >     if opts['unknownparams']:
23591
414374cfb531 bundle2: lowercase part types
Eric Sumner <ericsumner@fb.com>
parents: 23590
diff changeset
   137
  >        bundler.newpart('test:song', [('randomparams', '')])
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   138
  >     if opts['parts']:
23590
4440c7cc3728 bundle2.bundlepart: make mandatory part flag explicit in API
Eric Sumner <ericsumner@fb.com>
parents: 23543
diff changeset
   139
  >        bundler.newpart('test:ping', mandatory=False)
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   140
  >     if opts['genraise']:
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   141
  >        def genraise():
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   142
  >            yield 'first line\n'
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   143
  >            raise RuntimeError('Someone set up us the bomb!')
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   144
  >        bundler.newpart('output', data=genraise(), mandatory=False)
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   145
  > 
20841
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   146
  >     if path is None:
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   147
  >        file = sys.stdout
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   148
  >     else:
22089
1e392c63fb76 tests: more bundle2 non-binary file test fixes
Matt Mackall <mpm@selenic.com>
parents: 21964
diff changeset
   149
  >         file = open(path, 'wb')
20841
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   150
  > 
26144
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   151
  >     if opts['timeout']:
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   152
  >         bundler.newpart('test:song', data=ELEPHANTSSONG, mandatory=False)
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   153
  >         for idx, junk in enumerate(bundler.getchunks()):
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   154
  >             ui.write('%d chunk\n' % idx)
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   155
  >             if idx > 4:
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   156
  >                 # This throws a GeneratorExit inside the generator, which
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   157
  >                 # can cause problems if the exception-recovery code is
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   158
  >                 # too zealous. It's important for this test that the break
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   159
  >                 # occur while we're in the middle of a part.
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   160
  >                 break
27539
23541bdd1610 test-bundle2-format: force gc so a GeneratorExit will be thrown
Bryan O'Sullivan <bos@serpentine.com>
parents: 26772
diff changeset
   161
  >         gc.collect()
26144
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   162
  >         ui.write('fake timeout complete.\n')
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   163
  >         return
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   164
  >     try:
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   165
  >         for chunk in bundler.getchunks():
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   166
  >             file.write(chunk)
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
   167
  >     except RuntimeError, exc:
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26539
diff changeset
   168
  >         raise error.Abort(exc)
28612
6fb1d3c936d2 tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents: 28238
diff changeset
   169
  >     finally:
6fb1d3c936d2 tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents: 28238
diff changeset
   170
  >         file.flush()
20802
520df53ad26a bundle2: a very first version of bundle2 unbundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20801
diff changeset
   171
  > 
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   172
  > @command('unbundle2', [], '')
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   173
  > def cmdunbundle2(ui, repo, replypath=None):
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   174
  >     """process a bundle2 stream from stdin on the current repo"""
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   175
  >     try:
20952
b24ee5076b94 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20951
diff changeset
   176
  >         tr = None
20946
e910336539f7 bundle2: lock the repo during unbundle test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20892
diff changeset
   177
  >         lock = repo.lock()
20952
b24ee5076b94 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20951
diff changeset
   178
  >         tr = repo.transaction('processbundle')
20892
6fe95448596d bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20891
diff changeset
   179
  >         try:
24641
60fecc5b14a4 unbundle20: retrieve unbundler instances through a factory function
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23891
diff changeset
   180
  >             unbundler = bundle2.getunbundler(ui, sys.stdin)
20952
b24ee5076b94 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20951
diff changeset
   181
  >             op = bundle2.processbundle(repo, unbundler, lambda: tr)
b24ee5076b94 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20951
diff changeset
   182
  >             tr.close()
21618
7568f5c1c801 bundle2: move exception classes into the error module
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21617
diff changeset
   183
  >         except error.BundleValueError, exc:
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26539
diff changeset
   184
  >             raise error.Abort('missing support for %s' % exc)
21184
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   185
  >         except error.PushRaced, exc:
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26539
diff changeset
   186
  >             raise error.Abort('push race: %s' % exc)
20892
6fe95448596d bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20891
diff changeset
   187
  >     finally:
20952
b24ee5076b94 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20951
diff changeset
   188
  >         if tr is not None:
b24ee5076b94 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20951
diff changeset
   189
  >             tr.release()
20946
e910336539f7 bundle2: lock the repo during unbundle test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20892
diff changeset
   190
  >         lock.release()
20892
6fe95448596d bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20891
diff changeset
   191
  >         remains = sys.stdin.read()
6fe95448596d bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20891
diff changeset
   192
  >         ui.write('%i unread bytes\n' % len(remains))
20949
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
   193
  >     if op.records['song']:
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
   194
  >         totalverses = sum(r['verses'] for r in op.records['song'])
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
   195
  >         ui.write('%i total verses sung\n' % totalverses)
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   196
  >     for rec in op.records['changegroup']:
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   197
  >         ui.write('addchangegroup return: %i\n' % rec['return'])
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   198
  >     if op.reply is not None and replypath is not None:
28612
6fb1d3c936d2 tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents: 28238
diff changeset
   199
  >         with open(replypath, 'wb') as file:
6fb1d3c936d2 tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents: 28238
diff changeset
   200
  >             for chunk in op.reply.getchunks():
6fb1d3c936d2 tests: explicitly flush output streams
Jun Wu <quark@fb.com>
parents: 28238
diff changeset
   201
  >                 file.write(chunk)
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   202
  > 
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   203
  > @command('statbundle2', [], '')
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   204
  > def cmdstatbundle2(ui, repo):
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   205
  >     """print statistic on the bundle2 container read from stdin"""
24641
60fecc5b14a4 unbundle20: retrieve unbundler instances through a factory function
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23891
diff changeset
   206
  >     unbundler = bundle2.getunbundler(ui, sys.stdin)
20844
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   207
  >     try:
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   208
  >         params = unbundler.params
21628
7c5a85619dca bundle2: raise BundleValueError error for stream level unsupported params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21626
diff changeset
   209
  >     except error.BundleValueError, exc:
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26539
diff changeset
   210
  >        raise error.Abort('unknown parameters: %s' % exc)
20844
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   211
  >     ui.write('options count: %i\n' % len(params))
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   212
  >     for key in sorted(params):
20805
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   213
  >         ui.write('- %s\n' % key)
20844
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   214
  >         value = params[key]
20810
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   215
  >         if value is not None:
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   216
  >             ui.write('    %s\n' % value)
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   217
  >     count = 0
21129
07bcbf326c8d bundle2: use an official iterparts method to unbundle parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21075
diff changeset
   218
  >     for p in unbundler.iterparts():
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   219
  >         count += 1
20864
9a75d2559cff bundle2: support unbundling empty part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20856
diff changeset
   220
  >         ui.write('  :%s:\n' % p.type)
20877
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   221
  >         ui.write('    mandatory: %i\n' % len(p.mandatoryparams))
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   222
  >         ui.write('    advisory: %i\n' % len(p.advisoryparams))
21019
3dc09f831a2e bundle2: lazy unbundle of part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21017
diff changeset
   223
  >         ui.write('    payload: %i bytes\n' % len(p.read()))
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   224
  >     ui.write('parts count:   %i\n' % count)
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   225
  > EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   226
  $ cat >> $HGRCPATH << EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   227
  > [extensions]
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   228
  > bundle2=$TESTTMP/bundle2.py
21147
2a246e737f92 bundle2: move bundle2 config option to section "experimental"
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21146
diff changeset
   229
  > [experimental]
22955
fab9dda0f2a3 obsolete: update tests to use obsolete options
Durham Goode <durham@fb.com>
parents: 22660
diff changeset
   230
  > evolution=createmarkers
21069
0a9cae236738 bundle2: allow bundle2 for pulling over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21062
diff changeset
   231
  > [ui]
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25476
diff changeset
   232
  > ssh=python "$TESTDIR/dummyssh"
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   233
  > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline}
21075
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   234
  > [web]
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   235
  > push_ssl = false
438803e4bd97 bundle2: support for push over the wire
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21069
diff changeset
   236
  > allow_push = *
21648
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
   237
  > [phases]
c26a11cdafeb bundle2: use non-publishing repo in test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21647
diff changeset
   238
  > publish=False
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   239
  > EOF
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   240
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   241
The extension requires a repo (currently unused)
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   242
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   243
  $ hg init main
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   244
  $ cd main
20803
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   245
  $ touch a
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   246
  $ hg add a
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   247
  $ hg commit -m 'a'
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   248
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   249
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   250
Empty bundle
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   251
=================
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   252
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   253
- no option
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   254
- no parts
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   255
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   256
Test bundling
20801
9c5183cb9bca bundle2: very first version of a bundle2 bundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
   257
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   258
  $ hg bundle2 | f --hexdump
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   259
  
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   260
  0000: 48 47 32 30 00 00 00 00 00 00 00 00             |HG20........|
20802
520df53ad26a bundle2: a very first version of bundle2 unbundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20801
diff changeset
   261
26144
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   262
Test timeouts during bundling
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   263
  $ hg bundle2 --timeout --debug --config devel.bundle2.debug=yes
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   264
  bundle2-output-bundle: "HG20", 1 parts total
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   265
  bundle2-output: start emission of HG20 stream
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   266
  0 chunk
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   267
  bundle2-output: bundle parameter: 
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   268
  1 chunk
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   269
  bundle2-output: start of parts
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   270
  bundle2-output: bundle part: "test:song"
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   271
  bundle2-output-part: "test:song" (advisory) 178 bytes payload
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   272
  bundle2-output: part 0: "test:song"
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   273
  bundle2-output: header chunk size: 16
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   274
  2 chunk
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   275
  3 chunk
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   276
  bundle2-output: payload chunk size: 178
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   277
  4 chunk
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   278
  5 chunk
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   279
  bundle2-generatorexit
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   280
  fake timeout complete.
4bc3707f3e67 bundle2: don't try to recover from a GeneratorExit (issue4785)
Augie Fackler <augie@google.com>
parents: 25495
diff changeset
   281
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   282
Test unbundling
20802
520df53ad26a bundle2: a very first version of bundle2 unbundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20801
diff changeset
   283
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   284
  $ hg bundle2 | hg statbundle2
20802
520df53ad26a bundle2: a very first version of bundle2 unbundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20801
diff changeset
   285
  options count: 0
520df53ad26a bundle2: a very first version of bundle2 unbundler
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20801
diff changeset
   286
  parts count:   0
20803
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   287
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   288
Test old style bundle are detected and refused
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   289
26772
d9a0cf97651e test: enforce v1 type in 'test-bundle2-format.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26587
diff changeset
   290
  $ hg bundle --all --type v1 ../bundle.hg
20803
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   291
  1 changesets found
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   292
  $ hg statbundle2 < ../bundle.hg
20803
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   293
  abort: unknown bundle version 10
88db3e615319 bundle2: make sure the unbundler refuse non bundle2 stream
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20802
diff changeset
   294
  [255]
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   295
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   296
Test parameters
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   297
=================
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   298
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   299
- some options
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   300
- no parts
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   301
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   302
advisory parameters, no value
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   303
-------------------------------
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   304
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   305
Simplest possible parameters form
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   306
20805
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   307
Test generation simple option
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   308
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   309
  $ hg bundle2 --param 'caution' | f --hexdump
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   310
  
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   311
  0000: 48 47 32 30 00 00 00 07 63 61 75 74 69 6f 6e 00 |HG20....caution.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   312
  0010: 00 00 00                                        |...|
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   313
20805
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   314
Test unbundling
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   315
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   316
  $ hg bundle2 --param 'caution' | hg statbundle2
20805
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   317
  options count: 1
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   318
  - caution
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   319
  parts count:   0
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   320
20804
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   321
Test generation multiple option
db9d3991d2c6 bundle2: support bundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20803
diff changeset
   322
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   323
  $ hg bundle2 --param 'caution' --param 'meal' | f --hexdump
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   324
  
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   325
  0000: 48 47 32 30 00 00 00 0c 63 61 75 74 69 6f 6e 20 |HG20....caution |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   326
  0010: 6d 65 61 6c 00 00 00 00                         |meal....|
20805
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   327
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   328
Test unbundling
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   329
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   330
  $ hg bundle2 --param 'caution' --param 'meal' | hg statbundle2
20805
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   331
  options count: 2
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   332
  - caution
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   333
  - meal
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   334
  parts count:   0
c5aaeca0cfbf bundle2: support for unbundling simple parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20804
diff changeset
   335
20809
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
   336
advisory parameters, with value
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
   337
-------------------------------
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
   338
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
   339
Test generation
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
   340
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   341
  $ hg bundle2 --param 'caution' --param 'meal=vegan' --param 'elephants' | f --hexdump
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   342
  
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   343
  0000: 48 47 32 30 00 00 00 1c 63 61 75 74 69 6f 6e 20 |HG20....caution |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   344
  0010: 6d 65 61 6c 3d 76 65 67 61 6e 20 65 6c 65 70 68 |meal=vegan eleph|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   345
  0020: 61 6e 74 73 00 00 00 00                         |ants....|
20809
b93bb639451a bundle2: support for bundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20805
diff changeset
   346
20810
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   347
Test unbundling
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   348
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   349
  $ hg bundle2 --param 'caution' --param 'meal=vegan' --param 'elephants' | hg statbundle2
20810
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   350
  options count: 3
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   351
  - caution
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   352
  - elephants
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   353
  - meal
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   354
      vegan
47293877b54c bundle2: support for unbundling parameter value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20809
diff changeset
   355
  parts count:   0
20811
9785c3f8f598 bundle2: urlquote stream parameter name and value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20810
diff changeset
   356
9785c3f8f598 bundle2: urlquote stream parameter name and value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20810
diff changeset
   357
parameter with special char in value
9785c3f8f598 bundle2: urlquote stream parameter name and value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20810
diff changeset
   358
---------------------------------------------------
9785c3f8f598 bundle2: urlquote stream parameter name and value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20810
diff changeset
   359
9785c3f8f598 bundle2: urlquote stream parameter name and value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20810
diff changeset
   360
Test generation
9785c3f8f598 bundle2: urlquote stream parameter name and value
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20810
diff changeset
   361
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   362
  $ hg bundle2 --param 'e|! 7/=babar%#==tutu' --param simple | f --hexdump
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   363
  
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   364
  0000: 48 47 32 30 00 00 00 29 65 25 37 43 25 32 31 25 |HG20...)e%7C%21%|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   365
  0010: 32 30 37 2f 3d 62 61 62 61 72 25 32 35 25 32 33 |207/=babar%25%23|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   366
  0020: 25 33 44 25 33 44 74 75 74 75 20 73 69 6d 70 6c |%3D%3Dtutu simpl|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   367
  0030: 65 00 00 00 00                                  |e....|
20812
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   368
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   369
Test unbundling
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   370
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   371
  $ hg bundle2 --param 'e|! 7/=babar%#==tutu' --param simple | hg statbundle2
20812
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   372
  options count: 2
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   373
  - e|! 7/
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   374
      babar%#==tutu
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   375
  - simple
e2f908773754 bundle2: urlunquote stream parameter name and value during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20811
diff changeset
   376
  parts count:   0
20813
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   377
20844
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   378
Test unknown mandatory option
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   379
---------------------------------------------------
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   380
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   381
  $ hg bundle2 --param 'Gravity' | hg statbundle2
21628
7c5a85619dca bundle2: raise BundleValueError error for stream level unsupported params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21626
diff changeset
   382
  abort: unknown parameters: Stream Parameter - Gravity
20844
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   383
  [255]
2631204d7305 bundle2: implement the mandatory/advisory logic for parameter
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20843
diff changeset
   384
20841
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   385
Test debug output
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   386
---------------------------------------------------
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   387
20843
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   388
bundling debug
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   389
25336
7c60a42265fb bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25334
diff changeset
   390
  $ hg bundle2 --debug --param 'e|! 7/=babar%#==tutu' --param simple ../out.hg2 --config progress.debug=true --config devel.bundle2.debug=true
25322
1f7c0403f8be bundle2: add generic debug output regarding generated bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25321
diff changeset
   391
  bundle2-output-bundle: "HG20", (2 params) 0 parts total
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   392
  bundle2-output: start emission of HG20 stream
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   393
  bundle2-output: bundle parameter: e%7C%21%207/=babar%25%23%3D%3Dtutu simple
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   394
  bundle2-output: start of parts
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   395
  bundle2-output: end of bundle
20841
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   396
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   397
file content is ok
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   398
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   399
  $ f --hexdump ../out.hg2
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   400
  ../out.hg2:
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   401
  0000: 48 47 32 30 00 00 00 29 65 25 37 43 25 32 31 25 |HG20...)e%7C%21%|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   402
  0010: 32 30 37 2f 3d 62 61 62 61 72 25 32 35 25 32 33 |207/=babar%25%23|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   403
  0020: 25 33 44 25 33 44 74 75 74 75 20 73 69 6d 70 6c |%3D%3Dtutu simpl|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   404
  0030: 65 00 00 00 00                                  |e....|
20841
cff562fe77a0 bundle2: add ability to write to a file to the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20814
diff changeset
   405
20843
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   406
unbundling debug
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   407
25336
7c60a42265fb bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25334
diff changeset
   408
  $ hg statbundle2 --debug --config progress.debug=true --config devel.bundle2.debug=true < ../out.hg2
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   409
  bundle2-input: start processing of HG20 stream
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   410
  bundle2-input: reading bundle2 stream parameters
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   411
  bundle2-input: ignoring unknown parameter 'e|! 7/'
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   412
  bundle2-input: ignoring unknown parameter 'simple'
20843
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   413
  options count: 2
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   414
  - e|! 7/
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   415
      babar%#==tutu
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   416
  - simple
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   417
  bundle2-input: start extraction of bundle2 parts
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   418
  bundle2-input: part header size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   419
  bundle2-input: end of bundle2 stream
20843
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   420
  parts count:   0
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   421
0641b41b0b49 bundle2: print debug information during unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20842
diff changeset
   422
20813
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   423
Test buggy input
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   424
---------------------------------------------------
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   425
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   426
empty parameter name
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   427
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   428
  $ hg bundle2 --param '' --quiet
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   429
  abort: empty parameter name
8c74b3ce5b70 bundle2: refuse empty parameter name
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20812
diff changeset
   430
  [255]
20814
8532f5e1b9df bundle2: force the first char of parameter to be an letter.
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20813
diff changeset
   431
8532f5e1b9df bundle2: force the first char of parameter to be an letter.
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20813
diff changeset
   432
bad parameter name
8532f5e1b9df bundle2: force the first char of parameter to be an letter.
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20813
diff changeset
   433
8532f5e1b9df bundle2: force the first char of parameter to be an letter.
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20813
diff changeset
   434
  $ hg bundle2 --param 42babar
8532f5e1b9df bundle2: force the first char of parameter to be an letter.
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20813
diff changeset
   435
  abort: non letter first character: '42babar'
8532f5e1b9df bundle2: force the first char of parameter to be an letter.
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20813
diff changeset
   436
  [255]
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   437
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   438
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   439
Test part
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   440
=================
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   441
25336
7c60a42265fb bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25334
diff changeset
   442
  $ hg bundle2 --parts ../parts.hg2 --debug --config progress.debug=true --config devel.bundle2.debug=true
25322
1f7c0403f8be bundle2: add generic debug output regarding generated bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25321
diff changeset
   443
  bundle2-output-bundle: "HG20", 7 parts total
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   444
  bundle2-output: start emission of HG20 stream
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   445
  bundle2-output: bundle parameter: 
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   446
  bundle2-output: start of parts
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   447
  bundle2-output: bundle part: "test:empty"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   448
  bundle2-output-part: "test:empty" (advisory) empty payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   449
  bundle2-output: part 0: "test:empty"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   450
  bundle2-output: header chunk size: 17
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   451
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   452
  bundle2-output: bundle part: "test:empty"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   453
  bundle2-output-part: "test:empty" (advisory) empty payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   454
  bundle2-output: part 1: "test:empty"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   455
  bundle2-output: header chunk size: 17
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   456
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   457
  bundle2-output: bundle part: "test:song"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   458
  bundle2-output-part: "test:song" (advisory) 178 bytes payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   459
  bundle2-output: part 2: "test:song"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   460
  bundle2-output: header chunk size: 16
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   461
  bundle2-output: payload chunk size: 178
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   462
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   463
  bundle2-output: bundle part: "test:debugreply"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   464
  bundle2-output-part: "test:debugreply" (advisory) empty payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   465
  bundle2-output: part 3: "test:debugreply"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   466
  bundle2-output: header chunk size: 22
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   467
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   468
  bundle2-output: bundle part: "test:math"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   469
  bundle2-output-part: "test:math" (advisory) (params: 2 mandatory 2 advisory) 2 bytes payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   470
  bundle2-output: part 4: "test:math"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   471
  bundle2-output: header chunk size: 43
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   472
  bundle2-output: payload chunk size: 2
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   473
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   474
  bundle2-output: bundle part: "test:song"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   475
  bundle2-output-part: "test:song" (advisory) (params: 1 mandatory) empty payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   476
  bundle2-output: part 5: "test:song"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   477
  bundle2-output: header chunk size: 29
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   478
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   479
  bundle2-output: bundle part: "test:ping"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   480
  bundle2-output-part: "test:ping" (advisory) empty payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   481
  bundle2-output: part 6: "test:ping"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   482
  bundle2-output: header chunk size: 16
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   483
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   484
  bundle2-output: end of bundle
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   485
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   486
  $ f --hexdump ../parts.hg2
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   487
  ../parts.hg2:
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   488
  0000: 48 47 32 30 00 00 00 00 00 00 00 11 0a 74 65 73 |HG20.........tes|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   489
  0010: 74 3a 65 6d 70 74 79 00 00 00 00 00 00 00 00 00 |t:empty.........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   490
  0020: 00 00 00 00 11 0a 74 65 73 74 3a 65 6d 70 74 79 |......test:empty|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   491
  0030: 00 00 00 01 00 00 00 00 00 00 00 00 00 10 09 74 |...............t|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   492
  0040: 65 73 74 3a 73 6f 6e 67 00 00 00 02 00 00 00 00 |est:song........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   493
  0050: 00 b2 50 61 74 61 6c 69 20 44 69 72 61 70 61 74 |..Patali Dirapat|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   494
  0060: 61 2c 20 43 72 6f 6d 64 61 20 43 72 6f 6d 64 61 |a, Cromda Cromda|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   495
  0070: 20 52 69 70 61 6c 6f 2c 20 50 61 74 61 20 50 61 | Ripalo, Pata Pa|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   496
  0080: 74 61 2c 20 4b 6f 20 4b 6f 20 4b 6f 0a 42 6f 6b |ta, Ko Ko Ko.Bok|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   497
  0090: 6f 72 6f 20 44 69 70 6f 75 6c 69 74 6f 2c 20 52 |oro Dipoulito, R|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   498
  00a0: 6f 6e 64 69 20 52 6f 6e 64 69 20 50 65 70 69 6e |ondi Rondi Pepin|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   499
  00b0: 6f 2c 20 50 61 74 61 20 50 61 74 61 2c 20 4b 6f |o, Pata Pata, Ko|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   500
  00c0: 20 4b 6f 20 4b 6f 0a 45 6d 61 6e 61 20 4b 61 72 | Ko Ko.Emana Kar|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   501
  00d0: 61 73 73 6f 6c 69 2c 20 4c 6f 75 63 72 61 20 4c |assoli, Loucra L|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   502
  00e0: 6f 75 63 72 61 20 50 6f 6e 70 6f 6e 74 6f 2c 20 |oucra Ponponto, |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   503
  00f0: 50 61 74 61 20 50 61 74 61 2c 20 4b 6f 20 4b 6f |Pata Pata, Ko Ko|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   504
  0100: 20 4b 6f 2e 00 00 00 00 00 00 00 16 0f 74 65 73 | Ko..........tes|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   505
  0110: 74 3a 64 65 62 75 67 72 65 70 6c 79 00 00 00 03 |t:debugreply....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   506
  0120: 00 00 00 00 00 00 00 00 00 2b 09 74 65 73 74 3a |.........+.test:|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   507
  0130: 6d 61 74 68 00 00 00 04 02 01 02 04 01 04 07 03 |math............|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   508
  0140: 70 69 33 2e 31 34 65 32 2e 37 32 63 6f 6f 6b 69 |pi3.14e2.72cooki|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   509
  0150: 6e 67 72 61 77 00 00 00 02 34 32 00 00 00 00 00 |ngraw....42.....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   510
  0160: 00 00 1d 09 74 65 73 74 3a 73 6f 6e 67 00 00 00 |....test:song...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   511
  0170: 05 01 00 0b 00 72 61 6e 64 6f 6d 70 61 72 61 6d |.....randomparam|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   512
  0180: 00 00 00 00 00 00 00 10 09 74 65 73 74 3a 70 69 |.........test:pi|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   513
  0190: 6e 67 00 00 00 06 00 00 00 00 00 00 00 00 00 00 |ng..............|
20856
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   514
8a6a86c9a5b5 bundle2: support bundling of empty part (with a type)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20844
diff changeset
   515
20888
0b0d3800c248 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20877
diff changeset
   516
  $ hg statbundle2 < ../parts.hg2
20864
9a75d2559cff bundle2: support unbundling empty part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20856
diff changeset
   517
  options count: 0
20876
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
   518
    :test:empty:
20877
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   519
      mandatory: 0
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   520
      advisory: 0
20876
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
   521
      payload: 0 bytes
20864
9a75d2559cff bundle2: support unbundling empty part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20856
diff changeset
   522
    :test:empty:
20877
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   523
      mandatory: 0
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   524
      advisory: 0
20876
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
   525
      payload: 0 bytes
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
   526
    :test:song:
20877
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   527
      mandatory: 0
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   528
      advisory: 0
20876
ddd56f3eb786 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20864
diff changeset
   529
      payload: 178 bytes
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   530
    :test:debugreply:
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   531
      mandatory: 0
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   532
      advisory: 0
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   533
      payload: 0 bytes
20877
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   534
    :test:math:
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   535
      mandatory: 2
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   536
      advisory: 1
9e9e3a4e9261 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20876
diff changeset
   537
      payload: 2 bytes
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   538
    :test:song:
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   539
      mandatory: 1
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   540
      advisory: 0
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   541
      payload: 0 bytes
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   542
    :test:ping:
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   543
      mandatory: 0
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   544
      advisory: 0
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   545
      payload: 0 bytes
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   546
  parts count:   7
20864
9a75d2559cff bundle2: support unbundling empty part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20856
diff changeset
   547
25336
7c60a42265fb bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25334
diff changeset
   548
  $ hg statbundle2 --debug --config progress.debug=true --config devel.bundle2.debug=true < ../parts.hg2
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   549
  bundle2-input: start processing of HG20 stream
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   550
  bundle2-input: reading bundle2 stream parameters
20864
9a75d2559cff bundle2: support unbundling empty part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20856
diff changeset
   551
  options count: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   552
  bundle2-input: start extraction of bundle2 parts
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   553
  bundle2-input: part header size: 17
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   554
  bundle2-input: part type: "test:empty"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   555
  bundle2-input: part id: "0"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   556
  bundle2-input: part parameters: 0
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   557
    :test:empty:
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   558
      mandatory: 0
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   559
      advisory: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   560
  bundle2-input: payload chunk size: 0
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   561
      payload: 0 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   562
  bundle2-input: part header size: 17
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   563
  bundle2-input: part type: "test:empty"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   564
  bundle2-input: part id: "1"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   565
  bundle2-input: part parameters: 0
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   566
    :test:empty:
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   567
      mandatory: 0
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   568
      advisory: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   569
  bundle2-input: payload chunk size: 0
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   570
      payload: 0 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   571
  bundle2-input: part header size: 16
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   572
  bundle2-input: part type: "test:song"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   573
  bundle2-input: part id: "2"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   574
  bundle2-input: part parameters: 0
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   575
    :test:song:
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   576
      mandatory: 0
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   577
      advisory: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   578
  bundle2-input: payload chunk size: 178
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   579
  bundle2-input: payload chunk size: 0
25334
76cba1ecf55f bundle2: add generic debug output regarding processed part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25333
diff changeset
   580
  bundle2-input-part: total payload size 178
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   581
      payload: 178 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   582
  bundle2-input: part header size: 22
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   583
  bundle2-input: part type: "test:debugreply"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   584
  bundle2-input: part id: "3"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   585
  bundle2-input: part parameters: 0
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   586
    :test:debugreply:
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   587
      mandatory: 0
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   588
      advisory: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   589
  bundle2-input: payload chunk size: 0
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   590
      payload: 0 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   591
  bundle2-input: part header size: 43
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   592
  bundle2-input: part type: "test:math"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   593
  bundle2-input: part id: "4"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   594
  bundle2-input: part parameters: 3
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   595
    :test:math:
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   596
      mandatory: 2
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   597
      advisory: 1
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   598
  bundle2-input: payload chunk size: 2
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   599
  bundle2-input: payload chunk size: 0
25334
76cba1ecf55f bundle2: add generic debug output regarding processed part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25333
diff changeset
   600
  bundle2-input-part: total payload size 2
21017
8de8187e6f48 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21005
diff changeset
   601
      payload: 2 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   602
  bundle2-input: part header size: 29
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   603
  bundle2-input: part type: "test:song"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   604
  bundle2-input: part id: "5"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   605
  bundle2-input: part parameters: 1
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   606
    :test:song:
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   607
      mandatory: 1
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   608
      advisory: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   609
  bundle2-input: payload chunk size: 0
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   610
      payload: 0 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   611
  bundle2-input: part header size: 16
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   612
  bundle2-input: part type: "test:ping"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   613
  bundle2-input: part id: "6"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   614
  bundle2-input: part parameters: 0
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   615
    :test:ping:
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   616
      mandatory: 0
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   617
      advisory: 0
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   618
  bundle2-input: payload chunk size: 0
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   619
      payload: 0 bytes
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   620
  bundle2-input: part header size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   621
  bundle2-input: end of bundle2 stream
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   622
  parts count:   7
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   623
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   624
Test actual unbundling of test part
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   625
=======================================
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   626
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   627
Process the bundle
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   628
25336
7c60a42265fb bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25334
diff changeset
   629
  $ hg unbundle2 --debug --config progress.debug=true --config devel.bundle2.debug=true < ../parts.hg2
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   630
  bundle2-input: start processing of HG20 stream
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   631
  bundle2-input: reading bundle2 stream parameters
25331
53ca47ef645d bundle2: add generic debug output regarding processed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25323
diff changeset
   632
  bundle2-input-bundle: with-transaction
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   633
  bundle2-input: start extraction of bundle2 parts
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   634
  bundle2-input: part header size: 17
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   635
  bundle2-input: part type: "test:empty"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   636
  bundle2-input: part id: "0"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   637
  bundle2-input: part parameters: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   638
  bundle2-input: ignoring unsupported advisory part test:empty
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   639
  bundle2-input-part: "test:empty" (advisory) unsupported-type
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   640
  bundle2-input: payload chunk size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   641
  bundle2-input: part header size: 17
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   642
  bundle2-input: part type: "test:empty"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   643
  bundle2-input: part id: "1"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   644
  bundle2-input: part parameters: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   645
  bundle2-input: ignoring unsupported advisory part test:empty
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   646
  bundle2-input-part: "test:empty" (advisory) unsupported-type
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   647
  bundle2-input: payload chunk size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   648
  bundle2-input: part header size: 16
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   649
  bundle2-input: part type: "test:song"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   650
  bundle2-input: part id: "2"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   651
  bundle2-input: part parameters: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   652
  bundle2-input: found a handler for part 'test:song'
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   653
  bundle2-input-part: "test:song" (advisory) supported
21019
3dc09f831a2e bundle2: lazy unbundle of part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21017
diff changeset
   654
  The choir starts singing:
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   655
  bundle2-input: payload chunk size: 178
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   656
  bundle2-input: payload chunk size: 0
25334
76cba1ecf55f bundle2: add generic debug output regarding processed part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25333
diff changeset
   657
  bundle2-input-part: total payload size 178
20889
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   658
      Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   659
      Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko
deed5edb72de bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20888
diff changeset
   660
      Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko.
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   661
  bundle2-input: part header size: 22
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   662
  bundle2-input: part type: "test:debugreply"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   663
  bundle2-input: part id: "3"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   664
  bundle2-input: part parameters: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   665
  bundle2-input: found a handler for part 'test:debugreply'
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   666
  bundle2-input-part: "test:debugreply" (advisory) supported
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   667
  debugreply: no reply
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   668
  bundle2-input: payload chunk size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   669
  bundle2-input: part header size: 43
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   670
  bundle2-input: part type: "test:math"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   671
  bundle2-input: part id: "4"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   672
  bundle2-input: part parameters: 3
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   673
  bundle2-input: ignoring unsupported advisory part test:math
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   674
  bundle2-input-part: "test:math" (advisory) (params: 2 mandatory 2 advisory) unsupported-type
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   675
  bundle2-input: payload chunk size: 2
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   676
  bundle2-input: payload chunk size: 0
25334
76cba1ecf55f bundle2: add generic debug output regarding processed part payload
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25333
diff changeset
   677
  bundle2-input-part: total payload size 2
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   678
  bundle2-input: part header size: 29
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   679
  bundle2-input: part type: "test:song"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   680
  bundle2-input: part id: "5"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   681
  bundle2-input: part parameters: 1
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   682
  bundle2-input: found a handler for part 'test:song'
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   683
  bundle2-input: ignoring unsupported advisory part test:song - randomparam
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   684
  bundle2-input-part: "test:song" (advisory) (params: 1 mandatory) unsupported-params (['randomparam'])
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   685
  bundle2-input: payload chunk size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   686
  bundle2-input: part header size: 16
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   687
  bundle2-input: part type: "test:ping"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   688
  bundle2-input: part id: "6"
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   689
  bundle2-input: part parameters: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   690
  bundle2-input: found a handler for part 'test:ping'
25333
5bfffdbdc907 bundle2: add generic debug output regarding processed part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25332
diff changeset
   691
  bundle2-input-part: "test:ping" (advisory) supported
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   692
  received ping request (id 6)
25319
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   693
  bundle2-input: payload chunk size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   694
  bundle2-input: part header size: 0
c3ef4f3b8680 bundle2: prefix all unbundling debug message with 'bundle2-input:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25314
diff changeset
   695
  bundle2-input: end of bundle2 stream
25332
0cdd1c811705 bundle2: add generic debug output at the end of bundle processing
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25331
diff changeset
   696
  bundle2-input-bundle: 6 parts total
20892
6fe95448596d bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20891
diff changeset
   697
  0 unread bytes
20949
571f2903ff1e bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20948
diff changeset
   698
  3 total verses sung
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   699
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   700
Unbundle with an unknown mandatory part
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   701
(should abort)
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   702
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   703
  $ hg bundle2 --parts --unknown ../unknown.hg2
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   704
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   705
  $ hg unbundle2 < ../unknown.hg2
20951
f977c732bf34 tests: fix test output typo
Matt Mackall <mpm@selenic.com>
parents: 20950
diff changeset
   706
  The choir starts singing:
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   707
      Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   708
      Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   709
      Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko.
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   710
  debugreply: no reply
20892
6fe95448596d bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20891
diff changeset
   711
  0 unread bytes
21617
0cfda08afd24 bundle2: rename UnknownPartError to BundleValueError
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21605
diff changeset
   712
  abort: missing support for test:unknown
20891
1c6cd23fc221 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20890
diff changeset
   713
  [255]
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   714
21625
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   715
Unbundle with an unknown mandatory part parameters
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   716
(should abort)
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   717
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   718
  $ hg bundle2 --unknownparams ../unknown.hg2
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   719
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   720
  $ hg unbundle2 < ../unknown.hg2
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   721
  0 unread bytes
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   722
  abort: missing support for test:song - randomparams
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   723
  [255]
511f5fa63aa2 bundle2: enforce all parameters in a part to be handled
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21618
diff changeset
   724
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   725
unbundle with a reply
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   726
21130
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
   727
  $ hg bundle2 --parts --reply ../parts-reply.hg2
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
   728
  $ hg unbundle2 ../reply.hg2 < ../parts-reply.hg2
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   729
  0 unread bytes
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   730
  3 total verses sung
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   731
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   732
The reply is a bundle
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   733
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   734
  $ f --hexdump ../reply.hg2
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   735
  ../reply.hg2:
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   736
  0000: 48 47 32 30 00 00 00 00 00 00 00 1b 06 6f 75 74 |HG20.........out|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   737
  0010: 70 75 74 00 00 00 00 00 01 0b 01 69 6e 2d 72 65 |put........in-re|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   738
  0020: 70 6c 79 2d 74 6f 33 00 00 00 d9 54 68 65 20 63 |ply-to3....The c|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   739
  0030: 68 6f 69 72 20 73 74 61 72 74 73 20 73 69 6e 67 |hoir starts sing|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   740
  0040: 69 6e 67 3a 0a 20 20 20 20 50 61 74 61 6c 69 20 |ing:.    Patali |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   741
  0050: 44 69 72 61 70 61 74 61 2c 20 43 72 6f 6d 64 61 |Dirapata, Cromda|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   742
  0060: 20 43 72 6f 6d 64 61 20 52 69 70 61 6c 6f 2c 20 | Cromda Ripalo, |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   743
  0070: 50 61 74 61 20 50 61 74 61 2c 20 4b 6f 20 4b 6f |Pata Pata, Ko Ko|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   744
  0080: 20 4b 6f 0a 20 20 20 20 42 6f 6b 6f 72 6f 20 44 | Ko.    Bokoro D|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   745
  0090: 69 70 6f 75 6c 69 74 6f 2c 20 52 6f 6e 64 69 20 |ipoulito, Rondi |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   746
  00a0: 52 6f 6e 64 69 20 50 65 70 69 6e 6f 2c 20 50 61 |Rondi Pepino, Pa|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   747
  00b0: 74 61 20 50 61 74 61 2c 20 4b 6f 20 4b 6f 20 4b |ta Pata, Ko Ko K|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   748
  00c0: 6f 0a 20 20 20 20 45 6d 61 6e 61 20 4b 61 72 61 |o.    Emana Kara|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   749
  00d0: 73 73 6f 6c 69 2c 20 4c 6f 75 63 72 61 20 4c 6f |ssoli, Loucra Lo|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   750
  00e0: 75 63 72 61 20 50 6f 6e 70 6f 6e 74 6f 2c 20 50 |ucra Ponponto, P|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   751
  00f0: 61 74 61 20 50 61 74 61 2c 20 4b 6f 20 4b 6f 20 |ata Pata, Ko Ko |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   752
  0100: 4b 6f 2e 0a 00 00 00 00 00 00 00 1b 06 6f 75 74 |Ko...........out|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   753
  0110: 70 75 74 00 00 00 01 00 01 0b 01 69 6e 2d 72 65 |put........in-re|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   754
  0120: 70 6c 79 2d 74 6f 34 00 00 00 c9 64 65 62 75 67 |ply-to4....debug|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   755
  0130: 72 65 70 6c 79 3a 20 63 61 70 61 62 69 6c 69 74 |reply: capabilit|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   756
  0140: 69 65 73 3a 0a 64 65 62 75 67 72 65 70 6c 79 3a |ies:.debugreply:|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   757
  0150: 20 20 20 20 20 27 63 69 74 79 3d 21 27 0a 64 65 |     'city=!'.de|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   758
  0160: 62 75 67 72 65 70 6c 79 3a 20 20 20 20 20 20 20 |bugreply:       |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   759
  0170: 20 20 27 63 65 6c 65 73 74 65 2c 76 69 6c 6c 65 |  'celeste,ville|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   760
  0180: 27 0a 64 65 62 75 67 72 65 70 6c 79 3a 20 20 20 |'.debugreply:   |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   761
  0190: 20 20 27 65 6c 65 70 68 61 6e 74 73 27 0a 64 65 |  'elephants'.de|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   762
  01a0: 62 75 67 72 65 70 6c 79 3a 20 20 20 20 20 20 20 |bugreply:       |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   763
  01b0: 20 20 27 62 61 62 61 72 27 0a 64 65 62 75 67 72 |  'babar'.debugr|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   764
  01c0: 65 70 6c 79 3a 20 20 20 20 20 20 20 20 20 27 63 |eply:         'c|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   765
  01d0: 65 6c 65 73 74 65 27 0a 64 65 62 75 67 72 65 70 |eleste'.debugrep|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   766
  01e0: 6c 79 3a 20 20 20 20 20 27 70 69 6e 67 2d 70 6f |ly:     'ping-po|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   767
  01f0: 6e 67 27 0a 00 00 00 00 00 00 00 1e 09 74 65 73 |ng'..........tes|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   768
  0200: 74 3a 70 6f 6e 67 00 00 00 02 01 00 0b 01 69 6e |t:pong........in|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   769
  0210: 2d 72 65 70 6c 79 2d 74 6f 37 00 00 00 00 00 00 |-reply-to7......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   770
  0220: 00 1b 06 6f 75 74 70 75 74 00 00 00 03 00 01 0b |...output.......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   771
  0230: 01 69 6e 2d 72 65 70 6c 79 2d 74 6f 37 00 00 00 |.in-reply-to7...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   772
  0240: 3d 72 65 63 65 69 76 65 64 20 70 69 6e 67 20 72 |=received ping r|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   773
  0250: 65 71 75 65 73 74 20 28 69 64 20 37 29 0a 72 65 |equest (id 7).re|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   774
  0260: 70 6c 79 69 6e 67 20 74 6f 20 70 69 6e 67 20 72 |plying to ping r|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   775
  0270: 65 71 75 65 73 74 20 28 69 64 20 37 29 0a 00 00 |equest (id 7)...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   776
  0280: 00 00 00 00 00 00                               |......|
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   777
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   778
The reply is valid
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   779
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   780
  $ hg statbundle2 < ../reply.hg2
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   781
  options count: 0
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   782
    :output:
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   783
      mandatory: 0
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   784
      advisory: 1
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   785
      payload: 217 bytes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   786
    :output:
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   787
      mandatory: 0
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   788
      advisory: 1
21137
341a083603a5 bundle2: protect capabilities name and values with url quoting
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21136
diff changeset
   789
      payload: 201 bytes
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   790
    :test:pong:
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   791
      mandatory: 1
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   792
      advisory: 0
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   793
      payload: 0 bytes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24641
diff changeset
   794
    :output:
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   795
      mandatory: 0
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   796
      advisory: 1
21133
bef4a2adc532 bundle2: include stderr when capturing handlers output
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21131
diff changeset
   797
      payload: 61 bytes
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   798
  parts count:   4
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   799
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   800
Unbundle the reply to get the output:
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   801
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   802
  $ hg unbundle2 < ../reply.hg2
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   803
  remote: The choir starts singing:
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   804
  remote:     Patali Dirapata, Cromda Cromda Ripalo, Pata Pata, Ko Ko Ko
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   805
  remote:     Bokoro Dipoulito, Rondi Rondi Pepino, Pata Pata, Ko Ko Ko
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   806
  remote:     Emana Karassoli, Loucra Loucra Ponponto, Pata Pata, Ko Ko Ko.
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   807
  remote: debugreply: capabilities:
21137
341a083603a5 bundle2: protect capabilities name and values with url quoting
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21136
diff changeset
   808
  remote: debugreply:     'city=!'
341a083603a5 bundle2: protect capabilities name and values with url quoting
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21136
diff changeset
   809
  remote: debugreply:         'celeste,ville'
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   810
  remote: debugreply:     'elephants'
21136
b6fd496e5c72 bundle2: support for capabilities with values
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21135
diff changeset
   811
  remote: debugreply:         'babar'
b6fd496e5c72 bundle2: support for capabilities with values
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21135
diff changeset
   812
  remote: debugreply:         'celeste'
21135
98fbf3adfd83 bundle2: add capabilities support in `replycaps` part
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21133
diff changeset
   813
  remote: debugreply:     'ping-pong'
21626
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   814
  remote: received ping request (id 7)
985d139c8e8f bundle2: ignore advisory part with unknown parameters
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21625
diff changeset
   815
  remote: replying to ping request (id 7)
21131
b7435117d951 bundle2: capture remote stdout while unbundling
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21130
diff changeset
   816
  0 unread bytes
20997
d7df4b7378ae bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20995
diff changeset
   817
21184
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   818
Test push race detection
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   819
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   820
  $ hg bundle2 --pushrace ../part-race.hg2
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   821
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   822
  $ hg unbundle2 < ../part-race.hg2
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   823
  0 unread bytes
21185
5b3717e1a3ea bundle2: add an error message to push race error
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21184
diff changeset
   824
  abort: push race: repository changed while pushing - please try again
21184
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   825
  [255]
28d76afa1568 bundle2: fix raising errors during heads checking
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21183
diff changeset
   826
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   827
Support for changegroup
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   828
===================================
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   829
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   830
  $ hg unbundle $TESTDIR/bundles/rebase.hg
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   831
  adding changesets
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   832
  adding manifests
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   833
  adding file changes
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   834
  added 8 changesets with 7 changes to 7 files (+3 heads)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   835
  (run 'hg heads' to see heads, 'hg merge' to merge)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   836
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   837
  $ hg log -G
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   838
  o  8:02de42196ebe draft Nicolas Dumazet <nicdumz.commits@gmail.com>  H
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   839
  |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   840
  | o  7:eea13746799a draft Nicolas Dumazet <nicdumz.commits@gmail.com>  G
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
   841
  |/|
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   842
  o |  6:24b6387c8c8c draft Nicolas Dumazet <nicdumz.commits@gmail.com>  F
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   843
  | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   844
  | o  5:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com>  E
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
   845
  |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   846
  | o  4:32af7686d403 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  D
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   847
  | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   848
  | o  3:5fddd98957c8 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  C
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
   849
  | |
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   850
  | o  2:42ccdea3bb16 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  B
21647
1a6909f4ebb0 bundle2: use a smarter template for test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21628
diff changeset
   851
  |/
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   852
  o  1:cd010b8cd998 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  A
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   853
  
22241
3dc3cf8d0e73 test-bundle2: add bookmark movement to the push test
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22090
diff changeset
   854
  @  0:3903775176ed draft test  a
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   855
  
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   856
25336
7c60a42265fb bundle2: hide bundle2 stream debug under a config flag
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25334
diff changeset
   857
  $ hg bundle2 --debug --config progress.debug=true --config devel.bundle2.debug=true --rev '8+7+5+4' ../rev.hg2
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   858
  4 changesets found
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   859
  list of changesets:
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   860
  32af7686d403cf45b5d95f2d70cebea587ac806a
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   861
  9520eea781bcca16c1e15acc0ba14335a0e8e5ba
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   862
  eea13746799a9e0bfd88f29d3c2e9dc9389f524f
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   863
  02de42196ebee42ef284b6780a87cdc96e8eaab6
25322
1f7c0403f8be bundle2: add generic debug output regarding generated bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25321
diff changeset
   864
  bundle2-output-bundle: "HG20", 1 parts total
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   865
  bundle2-output: start emission of HG20 stream
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   866
  bundle2-output: bundle parameter: 
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   867
  bundle2-output: start of parts
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   868
  bundle2-output: bundle part: "changegroup"
25323
21a25fb81d2c bundle2: add generic debug output regarding generated parts
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25322
diff changeset
   869
  bundle2-output-part: "changegroup" (advisory) streamed payload
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   870
  bundle2-output: part 0: "changegroup"
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   871
  bundle2-output: header chunk size: 18
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   872
  bundling: 1/4 changesets (25.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   873
  bundling: 2/4 changesets (50.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   874
  bundling: 3/4 changesets (75.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   875
  bundling: 4/4 changesets (100.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   876
  bundling: 1/4 manifests (25.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   877
  bundling: 2/4 manifests (50.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   878
  bundling: 3/4 manifests (75.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   879
  bundling: 4/4 manifests (100.00%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   880
  bundling: D 1/3 files (33.33%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   881
  bundling: E 2/3 files (66.67%)
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   882
  bundling: H 3/3 files (100.00%)
25321
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   883
  bundle2-output: payload chunk size: 1555
b44ee346211f bundle2: add debug output for part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25319
diff changeset
   884
  bundle2-output: closing payload chunk
25314
18c2bcc2c9d5 bundle2: prefix all bundling debug messages with 'bundle2-ouput:'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25125
diff changeset
   885
  bundle2-output: end of bundle
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   886
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   887
  $ f --hexdump ../rev.hg2
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   888
  ../rev.hg2:
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   889
  0000: 48 47 32 30 00 00 00 00 00 00 00 12 0b 63 68 61 |HG20.........cha|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   890
  0010: 6e 67 65 67 72 6f 75 70 00 00 00 00 00 00 00 00 |ngegroup........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   891
  0020: 06 13 00 00 00 a4 32 af 76 86 d4 03 cf 45 b5 d9 |......2.v....E..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   892
  0030: 5f 2d 70 ce be a5 87 ac 80 6a 5f dd d9 89 57 c8 |_-p......j_...W.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   893
  0040: a5 4a 4d 43 6d fe 1d a9 d8 7f 21 a1 b9 7b 00 00 |.JMCm.....!..{..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   894
  0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   895
  0060: 00 00 32 af 76 86 d4 03 cf 45 b5 d9 5f 2d 70 ce |..2.v....E.._-p.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   896
  0070: be a5 87 ac 80 6a 00 00 00 00 00 00 00 29 00 00 |.....j.......)..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   897
  0080: 00 29 36 65 31 66 34 63 34 37 65 63 62 35 33 33 |.)6e1f4c47ecb533|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   898
  0090: 66 66 64 30 63 38 65 35 32 63 64 63 38 38 61 66 |ffd0c8e52cdc88af|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   899
  00a0: 62 36 63 64 33 39 65 32 30 63 0a 00 00 00 66 00 |b6cd39e20c....f.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   900
  00b0: 00 00 68 00 00 00 02 44 0a 00 00 00 69 00 00 00 |..h....D....i...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   901
  00c0: 6a 00 00 00 01 44 00 00 00 a4 95 20 ee a7 81 bc |j....D..... ....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   902
  00d0: ca 16 c1 e1 5a cc 0b a1 43 35 a0 e8 e5 ba cd 01 |....Z...C5......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   903
  00e0: 0b 8c d9 98 f3 98 1a 5a 81 15 f9 4f 8d a4 ab 50 |.......Z...O...P|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   904
  00f0: 60 89 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |`...............|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   905
  0100: 00 00 00 00 00 00 95 20 ee a7 81 bc ca 16 c1 e1 |....... ........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   906
  0110: 5a cc 0b a1 43 35 a0 e8 e5 ba 00 00 00 00 00 00 |Z...C5..........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   907
  0120: 00 29 00 00 00 29 34 64 65 63 65 39 63 38 32 36 |.)...)4dece9c826|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   908
  0130: 66 36 39 34 39 30 35 30 37 62 39 38 63 36 33 38 |f69490507b98c638|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   909
  0140: 33 61 33 30 30 39 62 32 39 35 38 33 37 64 0a 00 |3a3009b295837d..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   910
  0150: 00 00 66 00 00 00 68 00 00 00 02 45 0a 00 00 00 |..f...h....E....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   911
  0160: 69 00 00 00 6a 00 00 00 01 45 00 00 00 a2 ee a1 |i...j....E......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   912
  0170: 37 46 79 9a 9e 0b fd 88 f2 9d 3c 2e 9d c9 38 9f |7Fy.......<...8.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   913
  0180: 52 4f 24 b6 38 7c 8c 8c ae 37 17 88 80 f3 fa 95 |RO$.8|...7......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   914
  0190: de d3 cb 1c f7 85 95 20 ee a7 81 bc ca 16 c1 e1 |....... ........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   915
  01a0: 5a cc 0b a1 43 35 a0 e8 e5 ba ee a1 37 46 79 9a |Z...C5......7Fy.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   916
  01b0: 9e 0b fd 88 f2 9d 3c 2e 9d c9 38 9f 52 4f 00 00 |......<...8.RO..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   917
  01c0: 00 00 00 00 00 29 00 00 00 29 33 36 35 62 39 33 |.....)...)365b93|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   918
  01d0: 64 35 37 66 64 66 34 38 31 34 65 32 62 35 39 31 |d57fdf4814e2b591|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   919
  01e0: 31 64 36 62 61 63 66 66 32 62 31 32 30 31 34 34 |1d6bacff2b120144|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   920
  01f0: 34 31 0a 00 00 00 66 00 00 00 68 00 00 00 00 00 |41....f...h.....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   921
  0200: 00 00 69 00 00 00 6a 00 00 00 01 47 00 00 00 a4 |..i...j....G....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   922
  0210: 02 de 42 19 6e be e4 2e f2 84 b6 78 0a 87 cd c9 |..B.n......x....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   923
  0220: 6e 8e aa b6 24 b6 38 7c 8c 8c ae 37 17 88 80 f3 |n...$.8|...7....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   924
  0230: fa 95 de d3 cb 1c f7 85 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   925
  0240: 00 00 00 00 00 00 00 00 00 00 00 00 02 de 42 19 |..............B.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   926
  0250: 6e be e4 2e f2 84 b6 78 0a 87 cd c9 6e 8e aa b6 |n......x....n...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   927
  0260: 00 00 00 00 00 00 00 29 00 00 00 29 38 62 65 65 |.......)...)8bee|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   928
  0270: 34 38 65 64 63 37 33 31 38 35 34 31 66 63 30 30 |48edc7318541fc00|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   929
  0280: 31 33 65 65 34 31 62 30 38 39 32 37 36 61 38 63 |13ee41b089276a8c|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   930
  0290: 32 34 62 66 0a 00 00 00 66 00 00 00 66 00 00 00 |24bf....f...f...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   931
  02a0: 02 48 0a 00 00 00 67 00 00 00 68 00 00 00 01 48 |.H....g...h....H|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   932
  02b0: 00 00 00 00 00 00 00 8b 6e 1f 4c 47 ec b5 33 ff |........n.LG..3.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   933
  02c0: d0 c8 e5 2c dc 88 af b6 cd 39 e2 0c 66 a5 a0 18 |...,.....9..f...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   934
  02d0: 17 fd f5 23 9c 27 38 02 b5 b7 61 8d 05 1c 89 e4 |...#.'8...a.....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   935
  02e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   936
  02f0: 00 00 00 00 32 af 76 86 d4 03 cf 45 b5 d9 5f 2d |....2.v....E.._-|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   937
  0300: 70 ce be a5 87 ac 80 6a 00 00 00 81 00 00 00 81 |p......j........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   938
  0310: 00 00 00 2b 44 00 63 33 66 31 63 61 32 39 32 34 |...+D.c3f1ca2924|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   939
  0320: 63 31 36 61 31 39 62 30 36 35 36 61 38 34 39 30 |c16a19b0656a8490|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   940
  0330: 30 65 35 30 34 65 35 62 30 61 65 63 32 64 0a 00 |0e504e5b0aec2d..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   941
  0340: 00 00 8b 4d ec e9 c8 26 f6 94 90 50 7b 98 c6 38 |...M...&...P{..8|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   942
  0350: 3a 30 09 b2 95 83 7d 00 7d 8c 9d 88 84 13 25 f5 |:0....}.}.....%.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   943
  0360: c6 b0 63 71 b3 5b 4e 8a 2b 1a 83 00 00 00 00 00 |..cq.[N.+.......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   944
  0370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 95 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   945
  0380: 20 ee a7 81 bc ca 16 c1 e1 5a cc 0b a1 43 35 a0 | ........Z...C5.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   946
  0390: e8 e5 ba 00 00 00 2b 00 00 00 ac 00 00 00 2b 45 |......+.......+E|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   947
  03a0: 00 39 63 36 66 64 30 33 35 30 61 36 63 30 64 30 |.9c6fd0350a6c0d0|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   948
  03b0: 63 34 39 64 34 61 39 63 35 30 31 37 63 66 30 37 |c49d4a9c5017cf07|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   949
  03c0: 30 34 33 66 35 34 65 35 38 0a 00 00 00 8b 36 5b |043f54e58.....6[|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   950
  03d0: 93 d5 7f df 48 14 e2 b5 91 1d 6b ac ff 2b 12 01 |....H.....k..+..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   951
  03e0: 44 41 28 a5 84 c6 5e f1 21 f8 9e b6 6a b7 d0 bc |DA(...^.!...j...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   952
  03f0: 15 3d 80 99 e7 ce 4d ec e9 c8 26 f6 94 90 50 7b |.=....M...&...P{|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   953
  0400: 98 c6 38 3a 30 09 b2 95 83 7d ee a1 37 46 79 9a |..8:0....}..7Fy.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   954
  0410: 9e 0b fd 88 f2 9d 3c 2e 9d c9 38 9f 52 4f 00 00 |......<...8.RO..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   955
  0420: 00 56 00 00 00 56 00 00 00 2b 46 00 32 32 62 66 |.V...V...+F.22bf|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   956
  0430: 63 66 64 36 32 61 32 31 61 33 32 38 37 65 64 62 |cfd62a21a3287edb|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   957
  0440: 64 34 64 36 35 36 32 31 38 64 30 66 35 32 35 65 |d4d656218d0f525e|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   958
  0450: 64 37 36 61 0a 00 00 00 97 8b ee 48 ed c7 31 85 |d76a.......H..1.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   959
  0460: 41 fc 00 13 ee 41 b0 89 27 6a 8c 24 bf 28 a5 84 |A....A..'j.$.(..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   960
  0470: c6 5e f1 21 f8 9e b6 6a b7 d0 bc 15 3d 80 99 e7 |.^.!...j....=...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   961
  0480: ce 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   962
  0490: 00 00 00 00 00 02 de 42 19 6e be e4 2e f2 84 b6 |.......B.n......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   963
  04a0: 78 0a 87 cd c9 6e 8e aa b6 00 00 00 2b 00 00 00 |x....n......+...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   964
  04b0: 56 00 00 00 00 00 00 00 81 00 00 00 81 00 00 00 |V...............|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   965
  04c0: 2b 48 00 38 35 30 30 31 38 39 65 37 34 61 39 65 |+H.8500189e74a9e|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   966
  04d0: 30 34 37 35 65 38 32 32 30 39 33 62 63 37 64 62 |0475e822093bc7db|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   967
  04e0: 30 64 36 33 31 61 65 62 30 62 34 0a 00 00 00 00 |0d631aeb0b4.....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   968
  04f0: 00 00 00 05 44 00 00 00 62 c3 f1 ca 29 24 c1 6a |....D...b...)$.j|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   969
  0500: 19 b0 65 6a 84 90 0e 50 4e 5b 0a ec 2d 00 00 00 |..ej...PN[..-...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   970
  0510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   971
  0520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   972
  0530: 00 00 00 00 00 32 af 76 86 d4 03 cf 45 b5 d9 5f |.....2.v....E.._|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   973
  0540: 2d 70 ce be a5 87 ac 80 6a 00 00 00 00 00 00 00 |-p......j.......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   974
  0550: 00 00 00 00 02 44 0a 00 00 00 00 00 00 00 05 45 |.....D.........E|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   975
  0560: 00 00 00 62 9c 6f d0 35 0a 6c 0d 0c 49 d4 a9 c5 |...b.o.5.l..I...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   976
  0570: 01 7c f0 70 43 f5 4e 58 00 00 00 00 00 00 00 00 |.|.pC.NX........|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   977
  0580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   978
  0590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   979
  05a0: 95 20 ee a7 81 bc ca 16 c1 e1 5a cc 0b a1 43 35 |. ........Z...C5|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   980
  05b0: a0 e8 e5 ba 00 00 00 00 00 00 00 00 00 00 00 02 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   981
  05c0: 45 0a 00 00 00 00 00 00 00 05 48 00 00 00 62 85 |E.........H...b.|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   982
  05d0: 00 18 9e 74 a9 e0 47 5e 82 20 93 bc 7d b0 d6 31 |...t..G^. ..}..1|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   983
  05e0: ae b0 b4 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   984
  05f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   985
  0600: 00 00 00 00 00 00 00 00 00 00 00 02 de 42 19 6e |.............B.n|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   986
  0610: be e4 2e f2 84 b6 78 0a 87 cd c9 6e 8e aa b6 00 |......x....n....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   987
  0620: 00 00 00 00 00 00 00 00 00 00 02 48 0a 00 00 00 |...........H....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
   988
  0630: 00 00 00 00 00 00 00 00 00 00 00 00 00          |.............|
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   989
23888
6d8bebf4d6d4 commands.debugbundle: bundle2 support
Eric Sumner <ericsumner@fb.com>
parents: 23591
diff changeset
   990
  $ hg debugbundle ../rev.hg2
6d8bebf4d6d4 commands.debugbundle: bundle2 support
Eric Sumner <ericsumner@fb.com>
parents: 23591
diff changeset
   991
  Stream params: {}
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28612
diff changeset
   992
  changegroup -- 'sortdict()'
23888
6d8bebf4d6d4 commands.debugbundle: bundle2 support
Eric Sumner <ericsumner@fb.com>
parents: 23591
diff changeset
   993
      32af7686d403cf45b5d95f2d70cebea587ac806a
6d8bebf4d6d4 commands.debugbundle: bundle2 support
Eric Sumner <ericsumner@fb.com>
parents: 23591
diff changeset
   994
      9520eea781bcca16c1e15acc0ba14335a0e8e5ba
6d8bebf4d6d4 commands.debugbundle: bundle2 support
Eric Sumner <ericsumner@fb.com>
parents: 23591
diff changeset
   995
      eea13746799a9e0bfd88f29d3c2e9dc9389f524f
6d8bebf4d6d4 commands.debugbundle: bundle2 support
Eric Sumner <ericsumner@fb.com>
parents: 23591
diff changeset
   996
      02de42196ebee42ef284b6780a87cdc96e8eaab6
23891
5827ad0b849e unbundle: support bundle2 files
Eric Sumner <ericsumner@fb.com>
parents: 23888
diff changeset
   997
  $ hg unbundle ../rev.hg2
20950
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   998
  adding changesets
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
   999
  adding manifests
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
  1000
  adding file changes
c7ceae0faf69 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20949
diff changeset
  1001
  added 0 changesets with 0 changes to 3 files
26539
1956026e4db2 unbundle: properly read head modification result from bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26421
diff changeset
  1002
  (run 'hg update' to get a working copy)
20955
12f161f08d74 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20952
diff changeset
  1003
21130
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1004
with reply
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1005
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1006
  $ hg bundle2 --rev '8+7+5+4' --reply ../rev-rr.hg2
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1007
  $ hg unbundle2 ../rev-reply.hg2 < ../rev-rr.hg2
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1008
  0 unread bytes
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1009
  addchangegroup return: 1
1ff06386217f bundle2: introduce `replycaps` part for on-demand reply
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21129
diff changeset
  1010
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1011
  $ f --hexdump ../rev-reply.hg2
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1012
  ../rev-reply.hg2:
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1013
  0000: 48 47 32 30 00 00 00 00 00 00 00 2f 11 72 65 70 |HG20......./.rep|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1014
  0010: 6c 79 3a 63 68 61 6e 67 65 67 72 6f 75 70 00 00 |ly:changegroup..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1015
  0020: 00 00 00 02 0b 01 06 01 69 6e 2d 72 65 70 6c 79 |........in-reply|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1016
  0030: 2d 74 6f 31 72 65 74 75 72 6e 31 00 00 00 00 00 |-to1return1.....|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1017
  0040: 00 00 1b 06 6f 75 74 70 75 74 00 00 00 01 00 01 |....output......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1018
  0050: 0b 01 69 6e 2d 72 65 70 6c 79 2d 74 6f 31 00 00 |..in-reply-to1..|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1019
  0060: 00 64 61 64 64 69 6e 67 20 63 68 61 6e 67 65 73 |.dadding changes|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1020
  0070: 65 74 73 0a 61 64 64 69 6e 67 20 6d 61 6e 69 66 |ets.adding manif|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1021
  0080: 65 73 74 73 0a 61 64 64 69 6e 67 20 66 69 6c 65 |ests.adding file|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1022
  0090: 20 63 68 61 6e 67 65 73 0a 61 64 64 65 64 20 30 | changes.added 0|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1023
  00a0: 20 63 68 61 6e 67 65 73 65 74 73 20 77 69 74 68 | changesets with|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1024
  00b0: 20 30 20 63 68 61 6e 67 65 73 20 74 6f 20 33 20 | 0 changes to 3 |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1025
  00c0: 66 69 6c 65 73 0a 00 00 00 00 00 00 00 00       |files.........|
20998
93a3c5b58635 bundle2: use reply part to return result of addchangegroup
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 20997
diff changeset
  1026
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1027
Check handling of exception during generation.
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1028
----------------------------------------------
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1029
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1030
  $ hg bundle2 --genraise > ../genfailed.hg2
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1031
  abort: Someone set up us the bomb!
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1032
  [255]
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1033
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1034
Should still be a valid bundle
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1035
26403
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1036
  $ f --hexdump ../genfailed.hg2
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1037
  ../genfailed.hg2:
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1038
  0000: 48 47 32 30 00 00 00 00 00 00 00 0d 06 6f 75 74 |HG20.........out|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1039
  0010: 70 75 74 00 00 00 00 00 00 ff ff ff ff 00 00 00 |put.............|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1040
  0020: 48 0b 65 72 72 6f 72 3a 61 62 6f 72 74 00 00 00 |H.error:abort...|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1041
  0030: 00 01 00 07 2d 6d 65 73 73 61 67 65 75 6e 65 78 |....-messageunex|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1042
  0040: 70 65 63 74 65 64 20 65 72 72 6f 72 3a 20 53 6f |pected error: So|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1043
  0050: 6d 65 6f 6e 65 20 73 65 74 20 75 70 20 75 73 20 |meone set up us |
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1044
  0060: 74 68 65 20 62 6f 6d 62 21 00 00 00 00 00 00 00 |the bomb!.......|
d19f67dc9c95 test-bundle2: dump bundle content using f --hexdump
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26144
diff changeset
  1045
  0070: 00                                              |.|
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1046
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1047
And its handling on the other size raise a clean exception
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1048
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1049
  $ cat ../genfailed.hg2 | hg unbundle2
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1050
  0 unread bytes
23067
420a051616ce bundle2: transmit exception during part generation
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23009
diff changeset
  1051
  abort: unexpected error: Someone set up us the bomb!
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1052
  [255]
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1053
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1054
Test compression
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1055
================
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1056
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1057
Simple case where it just work: GZ
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1058
----------------------------------
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1059
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1060
  $ hg bundle2 --compress GZ --rev '8+7+5+4' ../rev.hg2.bz
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1061
  $ f --hexdump ../rev.hg2.bz
26406
2cac6126329f tests: fix test-bundle2-format output
Matt Mackall <mpm@selenic.com>
parents: 26404
diff changeset
  1062
  ../rev.hg2.bz:
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1063
  0000: 48 47 32 30 00 00 00 0e 43 6f 6d 70 72 65 73 73 |HG20....Compress|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1064
  0010: 69 6f 6e 3d 47 5a 78 9c 95 94 7d 68 95 55 1c c7 |ion=GZx...}h.U..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1065
  0020: 9f 3b 31 e8 ce fa c3 65 be a0 a4 b4 52 b9 29 e7 |.;1....e....R.).|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1066
  0030: f5 79 ce 89 fa 63 ed 5e 77 8b 9c c3 3f 2a 1c 68 |.y...c.^w...?*.h|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1067
  0040: cf 79 9b dd 6a ae b0 28 74 b8 e5 96 5b bb 86 61 |.y..j..(t...[..a|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1068
  0050: a3 15 6e 3a 71 c8 6a e8 a5 da 95 64 28 22 ce 69 |..n:q.j....d(".i|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1069
  0060: cd 06 59 34 28 2b 51 2a 58 c3 17 56 2a 9a 9d 67 |..Y4(+Q*X..V*..g|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1070
  0070: dc c6 35 9e c4 1d f8 9e 87 f3 9c f3 3b bf 0f bf |..5.........;...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1071
  0080: 97 e3 38 ce f4 42 b9 d6 af ae d2 55 af ae 7b ad |..8..B.....U..{.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1072
  0090: c6 c9 8d bb 8a ec b4 07 ed 7f fd ed d3 53 be 4e |.............S.N|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1073
  00a0: f4 0e af 59 52 73 ea 50 d7 96 9e ba d4 9a 1f 87 |...YRs.P........|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1074
  00b0: 9b 9f 1d e8 7a 6a 79 e9 cb 7f cf eb fe 7e d3 82 |....zjy......~..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1075
  00c0: ce 2f 36 38 21 23 cc 36 b7 b5 38 90 ab a1 21 92 |./68!#.6..8...!.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1076
  00d0: 78 5a 0a 8a b1 31 0a 48 a6 29 92 4a 32 e6 1b e1 |xZ...1.H.).J2...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1077
  00e0: 4a 85 b9 46 40 46 ed 61 63 b5 d6 aa 20 1e ac 5e |J..F@F.ac... ..^|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1078
  00f0: b0 0a ae 8a c4 03 c6 d6 f9 a3 7b eb fb 4e de 7f |..........{..N..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1079
  0100: e4 97 55 5f 15 76 96 d2 5d bf 9d 3f 38 18 29 4c |..U_.v..]..?8.)L|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1080
  0110: 0f b7 5d 6e 9b b3 aa 7e c6 d5 15 5b f7 7c 52 f1 |..]n...~...[.|R.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1081
  0120: 7c 73 18 63 98 6d 3e 23 51 5a 6a 2e 19 72 8d cb ||s.c.m>#QZj..r..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1082
  0130: 09 07 14 78 82 33 e9 62 86 7d 0c 00 17 88 53 86 |...x.3.b.}....S.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1083
  0140: 3d 75 0b 63 e2 16 c6 84 9d 76 8f 76 7a cb de fc |=u.c.....v.vz...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1084
  0150: a8 a3 f0 46 d3 a5 f6 c7 96 b6 9f 60 3b 57 ae 28 |...F.......`;W.(|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1085
  0160: ce b2 8d e9 f4 3e 6f 66 53 dd e5 6b ad 67 be f9 |.....>ofS..k.g..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1086
  0170: 72 ee 5f 8d 61 3c 61 b6 f9 8c d8 a5 82 63 45 3d |r._.a<a......cE=|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1087
  0180: a3 0c 61 90 68 24 28 87 50 b9 c2 97 c6 20 01 11 |..a.h$(.P.... ..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1088
  0190: 80 84 10 98 cf e8 e4 13 96 05 51 2c 38 f3 c4 ec |..........Q,8...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1089
  01a0: ea 43 e7 96 5e 6a c8 be 11 dd 32 78 a2 fa dd 8f |.C..^j....2x....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1090
  01b0: b3 61 84 61 51 0c b3 cd 27 64 42 6b c2 b4 92 1e |.a.aQ...'dBk....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1091
  01c0: 86 8c 12 68 24 00 10 db 7f 50 00 c6 91 e7 fa 4c |...h$....P.....L|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1092
  01d0: 22 22 cc bf 84 81 0a 92 c1 aa 2a c7 1b 49 e6 ee |""........*..I..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1093
  01e0: 6b a9 7e e0 e9 b2 91 5e 7c 73 68 e0 fc 23 3f 34 |k.~....^|sh..#?4|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1094
  01f0: ed cf 0e f2 b3 d3 4c d7 ae 59 33 6f 8c 3d b8 63 |......L..Y3o.=.c|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1095
  0200: 21 2b e8 3d e0 6f 9d 3a b7 f9 dc 24 2a b2 3e a7 |!+.=.o.:...$*.>.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1096
  0210: 58 dc 91 d8 40 e9 23 8e 88 84 ae 0f b9 00 2e b5 |X...@.#.........|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1097
  0220: 74 36 f3 40 53 40 34 15 c0 d7 12 8d e7 bb 65 f9 |t6.@S@4.......e.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1098
  0230: c8 ef 03 0f ff f9 fe b6 8a 0d 6d fd ec 51 70 f7 |..........m..Qp.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1099
  0240: a7 ad 9b 6b 9d da 74 7b 53 43 d1 43 63 fd 19 f9 |...k..t{SC.Cc...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1100
  0250: ca 67 95 e5 ef c4 e6 6c 9e 44 e1 c5 ac 7a 82 6f |.g.....l.D...z.o|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1101
  0260: c2 e1 d2 b5 2d 81 29 f0 5d 09 6c 6f 10 ae 88 cf |....-.).].lo....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1102
  0270: 25 05 d0 93 06 78 80 60 43 2d 10 1b 47 71 2b b7 |%....x.`C-..Gq+.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1103
  0280: 7f bb e9 a7 e4 7d 67 7b df 9b f7 62 cf cd d8 f4 |.....}g{...b....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1104
  0290: 48 bc 64 51 57 43 ff ea 8b 0b ae 74 64 53 07 86 |H.dQWC.....tdS..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1105
  02a0: fa 66 3c 5e f7 e1 af a7 c2 90 ff a7 be 9e c9 29 |.f<^...........)|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1106
  02b0: b6 cc 41 48 18 69 94 8b 7c 04 7d 8c 98 a7 95 50 |..AH.i..|.}....P|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1107
  02c0: 44 d9 d0 20 c8 14 30 14 51 ad 6c 16 03 94 0f 5a |D.. ..0.Q.l....Z|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1108
  02d0: 46 93 7f 1c 87 8d 25 d7 9d a2 d1 92 4c f3 c2 54 |F.....%.....L..T|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1109
  02e0: ba f8 70 18 ca 24 0a 29 96 43 71 f2 93 95 74 18 |..p..$.).Cq...t.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1110
  02f0: b5 65 c4 b8 f6 6c 5c 34 20 1e d5 0c 21 c0 b1 90 |.e...l\4 ...!...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1111
  0300: 9e 12 40 b9 18 fa 5a 00 41 a2 39 d3 a9 c1 73 21 |..@...Z.A.9...s!|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1112
  0310: 8e 5e 3c b9 b8 f8 48 6a 76 46 a7 1a b6 dd 5b 51 |.^<...HjvF....[Q|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1113
  0320: 5e 19 1d 59 12 c6 32 89 02 9a c0 8f 4f b8 0a ba |^..Y..2.....O...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1114
  0330: 5e ec 58 37 44 a3 2f dd 33 ed c9 d3 dd c7 22 1b |^.X7D./.3.....".|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1115
  0340: 2f d4 94 8e 95 3f 77 a7 ae 6e f3 32 8d bb 4a 4c |/....?w..n.2..JL|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1116
  0350: b8 0a 5a 43 34 3a b3 3a d6 77 ff 5c b6 fa ad f9 |..ZC4:.:.w.\....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1117
  0360: db fb 6a 33 df c1 7d 99 cf ef d4 d5 6d da 77 7c |..j3..}.....m.w||
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1118
  0370: 3b 19 fd af c5 3f f1 60 c3 17                   |;....?.`..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1119
  $ hg debugbundle ../rev.hg2.bz
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28612
diff changeset
  1120
  Stream params: sortdict([('Compression', 'GZ')])
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28612
diff changeset
  1121
  changegroup -- 'sortdict()'
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1122
      32af7686d403cf45b5d95f2d70cebea587ac806a
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1123
      9520eea781bcca16c1e15acc0ba14335a0e8e5ba
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1124
      eea13746799a9e0bfd88f29d3c2e9dc9389f524f
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1125
      02de42196ebee42ef284b6780a87cdc96e8eaab6
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1126
  $ hg unbundle ../rev.hg2.bz
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1127
  adding changesets
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1128
  adding manifests
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1129
  adding file changes
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1130
  added 0 changesets with 0 changes to 3 files
26539
1956026e4db2 unbundle: properly read head modification result from bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26421
diff changeset
  1131
  (run 'hg update' to get a working copy)
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1132
Simple case where it just work: BZ
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1133
----------------------------------
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1134
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1135
  $ hg bundle2 --compress BZ --rev '8+7+5+4' ../rev.hg2.bz
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1136
  $ f --hexdump ../rev.hg2.bz
26406
2cac6126329f tests: fix test-bundle2-format output
Matt Mackall <mpm@selenic.com>
parents: 26404
diff changeset
  1137
  ../rev.hg2.bz:
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1138
  0000: 48 47 32 30 00 00 00 0e 43 6f 6d 70 72 65 73 73 |HG20....Compress|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1139
  0010: 69 6f 6e 3d 42 5a 42 5a 68 39 31 41 59 26 53 59 |ion=BZBZh91AY&SY|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1140
  0020: a3 4b 18 3d 00 00 1a 7f ff ff bf 5f f6 ef ef 7f |.K.=......._....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1141
  0030: f6 3f f7 d1 d9 ff ff f7 6e ff ff 6e f7 f6 bd df |.?......n..n....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1142
  0040: b5 ab ff cf 67 f6 e7 7b f7 c0 02 d7 33 82 8b 51 |....g..{....3..Q|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1143
  0050: 04 a5 53 d5 3d 27 a0 99 18 4d 0d 34 00 d1 a1 e8 |..S.='...M.4....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1144
  0060: 80 c8 7a 87 a9 a3 43 6a 3d 46 86 26 80 34 3d 40 |..z...Cj=F.&.4=@|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1145
  0070: c8 c9 b5 34 f4 8f 48 0f 51 ea 34 34 fd 4d aa 19 |...4..H.Q.44.M..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1146
  0080: 03 40 0c 08 da 86 43 d4 f5 0f 42 1e a0 f3 54 33 |.@....C...B...T3|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1147
  0090: 54 d3 13 4d 03 40 32 00 00 32 03 26 80 0d 00 0d |T..M.@2..2.&....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1148
  00a0: 00 68 c8 c8 03 20 32 30 98 8c 80 00 00 03 4d 00 |.h... 20......M.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1149
  00b0: c8 00 00 0d 00 00 22 99 a1 34 c2 64 a6 d5 34 1a |......"..4.d..4.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1150
  00c0: 00 00 06 86 83 4d 07 a8 d1 a0 68 01 a0 00 00 00 |.....M....h.....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1151
  00d0: 00 0d 06 80 00 00 00 0d 00 03 40 00 00 04 a4 a1 |..........@.....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1152
  00e0: 4d a9 89 89 b4 9a 32 0c 43 46 86 87 a9 8d 41 9a |M.....2.CF....A.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1153
  00f0: 98 46 9a 0d 31 32 1a 34 0d 0c 8d a2 0c 98 4d 06 |.F..12.4......M.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1154
  0100: 8c 40 c2 60 8d 0d 0c 20 c9 89 fa a0 d0 d3 21 a1 |.@.`... ......!.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1155
  0110: ea 34 d3 68 9e a6 d1 74 05 33 cb 66 96 93 28 64 |.4.h...t.3.f..(d|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1156
  0120: 40 91 22 ac 55 9b ea 40 7b 38 94 e2 f8 06 00 cb |@.".U..@{8......|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1157
  0130: 28 02 00 4d ab 40 24 10 43 18 cf 64 b4 06 83 0c |(..M.@$.C..d....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1158
  0140: 34 6c b4 a3 d4 0a 0a e4 a8 5c 4e 23 c0 c9 7a 31 |4l.......\N#..z1|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1159
  0150: 97 87 77 7a 64 88 80 8e 60 97 20 93 0f 8e eb c4 |..wzd...`. .....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1160
  0160: 62 a4 44 a3 52 20 b2 99 a9 2e e1 d7 29 4a 54 ac |b.D.R ......)JT.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1161
  0170: 44 7a bb cc 04 3d e0 aa bd 6a 33 5e 9b a2 57 36 |Dz...=...j3^..W6|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1162
  0180: fa cb 45 bb 6d 3e c1 d9 d9 f5 83 69 8a d0 e0 e2 |..E.m>.....i....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1163
  0190: e7 ae 90 55 24 da 3f ab 78 c0 4c b4 56 a3 9e a4 |...U$.?.x.L.V...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1164
  01a0: af 9c 65 74 86 ec 6d dc 62 dc 33 ca c8 50 dd 9d |..et..m.b.3..P..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1165
  01b0: 98 8e 9e 59 20 f3 f0 42 91 4a 09 f5 75 8d 3d a5 |...Y ..B.J..u.=.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1166
  01c0: a5 15 cb 8d 10 63 b0 c2 2e b2 81 f7 c1 76 0e 53 |.....c.......v.S|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1167
  01d0: 6c 0e 46 73 b5 ae 67 f9 4c 0b 45 6b a8 32 2a 2f |l.Fs..g.L.Ek.2*/|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1168
  01e0: a2 54 a4 44 05 20 a1 38 d1 a4 c6 09 a8 2b 08 99 |.T.D. .8.....+..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1169
  01f0: a4 14 ae 8d a3 e3 aa 34 27 d8 44 ca c3 5d 21 8b |.......4'.D..]!.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1170
  0200: 1a 1e 97 29 71 2b 09 4a 4a 55 55 94 58 65 b2 bc |...)q+.JJUU.Xe..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1171
  0210: f3 a5 90 26 36 76 67 7a 51 98 d6 8a 4a 99 50 b5 |...&6vgzQ...J.P.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1172
  0220: 99 8f 94 21 17 a9 8b f3 ad 4c 33 d4 2e 40 c8 0c |...!.....L3..@..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1173
  0230: 3b 90 53 39 db 48 02 34 83 48 d6 b3 99 13 d2 58 |;.S9.H.4.H.....X|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1174
  0240: 65 8e 71 ac a9 06 95 f2 c4 8e b4 08 6b d3 0c ae |e.q.........k...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1175
  0250: d9 90 56 71 43 a7 a2 62 16 3e 50 63 d3 57 3c 2d |..VqC..b.>Pc.W<-|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1176
  0260: 9f 0f 34 05 08 d8 a6 4b 59 31 54 66 3a 45 0c 8a |..4....KY1Tf:E..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1177
  0270: c7 90 3a f0 6a 83 1b f5 ca fb 80 2b 50 06 fb 51 |..:.j......+P..Q|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1178
  0280: 7e a6 a4 d4 81 44 82 21 54 00 5b 1a 30 83 62 a3 |~....D.!T.[.0.b.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1179
  0290: 18 b6 24 19 1e 45 df 4d 5c db a6 af 5b ac 90 fa |..$..E.M\...[...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1180
  02a0: 3e ed f9 ec 4c ba 36 ee d8 60 20 a7 c7 3b cb d1 |>...L.6..` ..;..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1181
  02b0: 90 43 7d 27 16 50 5d ad f4 14 07 0b 90 5c cc 6b |.C}'.P]......\.k|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1182
  02c0: 8d 3f a6 88 f4 34 37 a8 cf 14 63 36 19 f7 3e 28 |.?...47...c6..>(|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1183
  02d0: de 99 e8 16 a4 9d 0d 40 a1 a7 24 52 14 a6 72 62 |.......@..$R..rb|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1184
  02e0: 59 5a ca 2d e5 51 90 78 88 d9 c6 c7 21 d0 f7 46 |YZ.-.Q.x....!..F|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1185
  02f0: b2 04 46 44 4e 20 9c 12 b1 03 4e 25 e0 a9 0c 58 |..FDN ....N%...X|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1186
  0300: 5b 1d 3c 93 20 01 51 de a9 1c 69 23 32 46 14 b4 |[.<. .Q...i#2F..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1187
  0310: 90 db 17 98 98 50 03 90 29 aa 40 b0 13 d8 43 d2 |.....P..).@...C.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1188
  0320: 5f c5 9d eb f3 f2 ad 41 e8 7a a9 ed a1 58 84 a6 |_......A.z...X..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1189
  0330: 42 bf d6 fc 24 82 c1 20 32 26 4a 15 a6 1d 29 7f |B...$.. 2&J...).|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1190
  0340: 7e f4 3d 07 bc 62 9a 5b ec 44 3d 72 1d 41 8b 5c |~.=..b.[.D=r.A.\|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1191
  0350: 80 de 0e 62 9a 2e f8 83 00 d5 07 a0 9c c6 74 98 |...b..........t.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1192
  0360: 11 b2 5e a9 38 02 03 ee fd 86 5c f4 86 b3 ae da |..^.8.....\.....|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1193
  0370: 05 94 01 c5 c6 ea 18 e6 ba 2a ba b3 04 5c 96 89 |.........*...\..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1194
  0380: 72 63 5b 10 11 f6 67 34 98 cb e4 c0 4e fa e6 99 |rc[...g4....N...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1195
  0390: 19 6e 50 e8 26 8d 0c 17 e0 be ef e1 8e 02 6f 32 |.nP.&.........o2|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1196
  03a0: 82 dc 26 f8 a1 08 f3 8a 0d f3 c4 75 00 48 73 b8 |..&........u.Hs.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1197
  03b0: be 3b 0d 7f d0 fd c7 78 96 ec e0 03 80 68 4d 8d |.;.....x.....hM.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1198
  03c0: 43 8c d7 68 58 f9 50 f0 18 cb 21 58 1b 60 cd 1f |C..hX.P...!X.`..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1199
  03d0: 84 36 2e 16 1f 0a f7 4e 8f eb df 01 2d c2 79 0b |.6.....N....-.y.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1200
  03e0: f7 24 ea 0d e8 59 86 51 6e 1c 30 a3 ad 2f ee 8c |.$...Y.Qn.0../..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1201
  03f0: 90 c8 84 d5 e8 34 c1 95 b2 c9 f6 4d 87 1c 7d 19 |.....4.....M..}.|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1202
  0400: d6 41 58 56 7a e0 6c ba 10 c7 e8 33 39 36 96 e7 |.AXVz.l....396..|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1203
  0410: d2 f9 59 9a 08 95 48 38 e7 0b b7 0a 24 67 c4 39 |..Y...H8....$g.9|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1204
  0420: 8b 43 88 57 9c 01 f5 61 b5 e1 27 41 7e af 83 fe |.C.W...a..'A~...|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1205
  0430: 2e e4 8a 70 a1 21 46 96 30 7a                   |...p.!F.0z|
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1206
  $ hg debugbundle ../rev.hg2.bz
29592
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28612
diff changeset
  1207
  Stream params: sortdict([('Compression', 'BZ')])
37cccad55410 util: implement a deterministic __repr__ on sortdict
Gregory Szorc <gregory.szorc@gmail.com>
parents: 28612
diff changeset
  1208
  changegroup -- 'sortdict()'
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1209
      32af7686d403cf45b5d95f2d70cebea587ac806a
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1210
      9520eea781bcca16c1e15acc0ba14335a0e8e5ba
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1211
      eea13746799a9e0bfd88f29d3c2e9dc9389f524f
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1212
      02de42196ebee42ef284b6780a87cdc96e8eaab6
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1213
  $ hg unbundle ../rev.hg2.bz
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1214
  adding changesets
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1215
  adding manifests
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1216
  adding file changes
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1217
  added 0 changesets with 0 changes to 3 files
26539
1956026e4db2 unbundle: properly read head modification result from bundle2
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26421
diff changeset
  1218
  (run 'hg update' to get a working copy)
26404
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1219
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1220
unknown compression while unbundling
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1221
-----------------------------
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1222
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1223
  $ hg bundle2 --param Compression=FooBarUnknown --rev '8+7+5+4' ../rev.hg2.bz
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1224
  $ cat ../rev.hg2.bz | hg statbundle2
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1225
  abort: unknown parameters: Stream Parameter - Compression='FooBarUnknown'
795f02a24b87 bundle2: allow compressed bundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26403
diff changeset
  1226
  [255]
26410
4c4b3c37776c unbundle: test and fix for clean abort on unknown bundle2 feature
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26406
diff changeset
  1227
  $ hg unbundle ../rev.hg2.bz
4c4b3c37776c unbundle: test and fix for clean abort on unknown bundle2 feature
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26406
diff changeset
  1228
  abort: ../rev.hg2.bz: unknown bundle feature, Stream Parameter - Compression='FooBarUnknown'
26421
4b0fc75f9403 urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents: 26410
diff changeset
  1229
  (see https://mercurial-scm.org/wiki/BundleFeature for more information)
26410
4c4b3c37776c unbundle: test and fix for clean abort on unknown bundle2 feature
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26406
diff changeset
  1230
  [255]
23007
03f3af8f4415 bundle2: add a test for exceptions raised during the generation process
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22955
diff changeset
  1231
22323
b31d29b2a7f2 test-bundle2: add obsolescence information to be exchanged
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22241
diff changeset
  1232
  $ cd ..