tests/test-bundle2-remote-changegroup.t
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 28 Aug 2018 15:02:48 -0700
changeset 39411 aeb551a3bb8a
parent 38700 cfdf7bfb0ac0
child 39480 89630d0b3e23
permissions -rw-r--r--
cborutil: implement sans I/O decoder The vendored CBOR package decodes by calling read(n) on an object. There are a number of disadvantages to this: * Uses blocking I/O. If sufficient data is not available, the decoder will hang until it is. * No support for partial reads. If the read(n) returns less data than requested, the decoder raises an error. * Requires the use of a file like object. If the original data is in say a buffer, we need to "cast" it to e.g. a BytesIO to appease the decoder. In addition, the vendored CBOR decoder doesn't provide flexibility that we desire. Specifically: * It buffers indefinite length bytestrings instead of streaming them. * It doesn't allow limiting the set of types that can be decoded. This property is useful when implementing a "hardened" decoder that is less susceptible to abusive input. * It doesn't provide sufficient "hook points" and introspection to institute checks around behavior. These are useful for implementing a "hardened" decoder. This all adds up to a reasonable set of justifications for writing our own decoder. So, this commit implements our own CBOR decoder. At the heart of the decoder is a function that decodes a single "item" from a buffer. This item can be a complete simple value or a special value, such as "start of array." Using this function, we can build a decoder that effectively iterates over the stream of decoded items and builds up higher-level values, such as arrays, maps, sets, and indefinite length bytestrings. And we can do this without performing I/O in the decoder itself. The core of the sans I/O decoder will probably not be used directly. Instead, it is expected that we'll build utility functions for invoking the decoder given specific input types. This will allow extreme flexibility in how data is delivered to the decoder. I'm pretty happy with the state of the decoder modulo the TODO items to track wanted features to help with a "hardened" decoder. The one thing I could be convinced to change is the handling of semantic tags. Since we only support a single semantic tag (sets), I thought it would be easier to handle them inline in decodeitem(). This is simpler now. But if we add support for other semantic tags, it will likely be easier to move semantic tag handling outside of decodeitem(). But, properly supporting semantic tags opens up a whole can of worms, as many semantic tags imply new types. I'm optimistic we won't need these in Mercurial. But who knows. I'm also pretty happy with the test coverage. Writing comprehensive tests for partial decoding did flush out a handful of bugs. One general improvement to testing would be fuzz testing for partial decoding. I may implement that later. I also anticipate switching the wire protocol code to this new decoder will flush out any lingering bugs. Differential Revision: https://phab.mercurial-scm.org/D4414
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36217
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     1
#testcases sshv1 sshv2
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     2
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     3
#if sshv2
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     5
  > [experimental]
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     6
  > sshpeer.advertise-v2 = true
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     7
  > sshserver.support-v2 = true
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     8
  > EOF
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
     9
#endif
1ee1a42bfdae tests: test using both versions of SSH protocol
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34661
diff changeset
    10
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    11
Create an extension to test bundle2 remote-changegroup parts
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    12
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    13
  $ cat > bundle2.py << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    14
  > """A small extension to test bundle2 remote-changegroup parts.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    15
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    16
  > Current bundle2 implementation doesn't provide a way to generate those
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    17
  > parts, so they must be created by extensions.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    18
  > """
38700
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    19
  > from mercurial import (
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    20
  >     bundle2,
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    21
  >     changegroup,
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    22
  >     discovery,
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    23
  >     exchange,
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    24
  >     pycompat,
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    25
  >     util,
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    26
  > )
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    27
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    28
  > def _getbundlechangegrouppart(bundler, repo, source, bundlecaps=None,
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    29
  >                               b2caps=None, heads=None, common=None,
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    30
  >                               **kwargs):
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    31
  >     """this function replaces the changegroup part handler for getbundle.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    32
  >     It allows to create a set of arbitrary parts containing changegroups
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    33
  >     and remote-changegroups, as described in a bundle2maker file in the
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    34
  >     repository .hg/ directory.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    35
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    36
  >     Each line of that bundle2maker file contain a description of the
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    37
  >     part to add:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    38
  >       - changegroup common_revset heads_revset
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    39
  >           Creates a changegroup part based, using common_revset and
29807
d4e026341e16 getchangegroup: take an 'outgoing' object as argument (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
    40
  >           heads_revset for outgoing
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    41
  >       - remote-changegroup url file
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    42
  >           Creates a remote-changegroup part for a bundle at the given
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    43
  >           url. Size and digest, as required by the client, are computed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    44
  >           from the given file.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    45
  >       - raw-remote-changegroup <python expression>
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    46
  >           Creates a remote-changegroup part with the data given in the
33261
be49f3fdcd10 tests: capitalize Python when it's not used as a command name
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    47
  >           Python expression as parameters. The Python expression is
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    48
  >           evaluated with eval, and is expected to be a dict.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    49
  >     """
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    50
  >     def newpart(name, data=b''):
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    51
  >         """wrapper around bundler.newpart adding an extra part making the
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    52
  >         client output information about each processed part"""
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    53
  >         bundler.newpart(b'output', data=name)
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    54
  >         part = bundler.newpart(name, data=data)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    55
  >         return part
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    56
  > 
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    57
  >     for line in open(repo.vfs.join(b'bundle2maker'), 'rb'):
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    58
  >         line = line.strip()
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    59
  >         try:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    60
  >             verb, args = line.split(None, 1)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    61
  >         except ValueError:
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    62
  >             verb, args = line, b''
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    63
  >         if verb == b'remote-changegroup':
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    64
  >            url, file = args.split()
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    65
  >            bundledata = open(file, 'rb').read()
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    66
  >            digest = util.digester.preferred(b2caps[b'digests'])
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    67
  >            d = util.digester([digest], bundledata)
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    68
  >            part = newpart(b'remote-changegroup')
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    69
  >            part.addparam(b'url', url)
38700
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    70
  >            part.addparam(b'size', b'%d' % len(bundledata))
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    71
  >            part.addparam(b'digests', digest)
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    72
  >            part.addparam(b'digest:%s' % digest, d[digest])
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    73
  >         elif verb == b'raw-remote-changegroup':
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    74
  >            part = newpart(b'remote-changegroup')
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    75
  >            for k, v in eval(args).items():
38700
cfdf7bfb0ac0 py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38699
diff changeset
    76
  >                part.addparam(pycompat.sysbytes(k), pycompat.bytestr(v))
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    77
  >         elif verb == b'changegroup':
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    78
  >             _common, heads = args.split()
37310
5da299dabdc1 tests: avoid repo.lookup() for converting revnum to nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents: 36217
diff changeset
    79
  >             common.extend(repo[r].node() for r in repo.revs(_common))
5da299dabdc1 tests: avoid repo.lookup() for converting revnum to nodeid
Martin von Zweigbergk <martinvonz@google.com>
parents: 36217
diff changeset
    80
  >             heads = [repo[r].node() for r in repo.revs(heads)]
29807
d4e026341e16 getchangegroup: take an 'outgoing' object as argument (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29672
diff changeset
    81
  >             outgoing = discovery.outgoing(repo, common, heads)
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    82
  >             cg = changegroup.makechangegroup(repo, outgoing, b'01',
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    83
  >                                              b'changegroup')
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    84
  >             newpart(b'changegroup', cg.getchunks())
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    85
  >         else:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    86
  >             raise Exception('unknown verb')
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    87
  > 
38699
72c086b1af12 py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Yuya Nishihara <yuya@tcha.org>
parents: 38698
diff changeset
    88
  > exchange.getbundle2partsmapping[b'changegroup'] = _getbundlechangegrouppart
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    89
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    90
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    91
Start a simple HTTP server to serve bundles
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    92
32940
75be14993fda cleanup: use $PYTHON to run python in many more tests
Augie Fackler <augie@google.com>
parents: 31326
diff changeset
    93
  $ $PYTHON "$TESTDIR/dumbhttp.py" -p $HGPORT --pid dumb.pid
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    94
  $ cat dumb.pid >> $DAEMON_PIDS
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    95
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    96
  $ cat >> $HGRCPATH << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    97
  > [ui]
33286
2428e8ec0793 tests: clean up even more direct `python` calls with $PYTHON
Augie Fackler <augie@google.com>
parents: 33261
diff changeset
    98
  > ssh=$PYTHON "$TESTDIR/dummyssh"
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    99
  > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   100
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   101
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   102
  $ hg init repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   103
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   104
  $ hg -R repo unbundle $TESTDIR/bundles/rebase.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   105
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   106
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   107
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   108
  added 8 changesets with 7 changes to 7 files (+2 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   109
  new changesets cd010b8cd998:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   110
  (run 'hg heads' to see heads, 'hg merge' to merge)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   111
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   112
  $ hg -R repo log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   113
  o  7:02de42196ebe draft Nicolas Dumazet <nicdumz.commits@gmail.com>  H
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   114
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   115
  | o  6:eea13746799a draft Nicolas Dumazet <nicdumz.commits@gmail.com>  G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   116
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   117
  o |  5:24b6387c8c8c draft Nicolas Dumazet <nicdumz.commits@gmail.com>  F
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   118
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   119
  | o  4:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com>  E
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   120
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   121
  | o  3:32af7686d403 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  D
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   122
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   123
  | o  2:5fddd98957c8 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   124
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   125
  | o  1:42ccdea3bb16 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   126
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   127
  o  0:cd010b8cd998 draft Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   128
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   129
  $ hg clone repo orig
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   130
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   131
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   132
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   133
  $ cat > repo/.hg/hgrc << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   134
  > [extensions]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   135
  > bundle2=$TESTTMP/bundle2.py
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   136
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   137
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   138
Test a pull with an remote-changegroup
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   139
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   140
  $ hg bundle -R repo --type v1 --base '0:4' -r '5:7' bundle.hg
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   141
  3 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   142
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   143
  > remote-changegroup http://localhost:$HGPORT/bundle.hg bundle.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   144
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   145
  $ hg clone orig clone -r 3 -r 4
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   146
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   147
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   148
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   149
  added 5 changesets with 5 changes to 5 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   150
  new changesets cd010b8cd998:9520eea781bc
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   151
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   152
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   153
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   154
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   155
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   156
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   157
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   158
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   159
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   160
  added 3 changesets with 2 changes to 2 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   161
  new changesets 24b6387c8c8c:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   162
  (run 'hg heads .' to see heads, 'hg merge' to merge)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   163
  $ hg -R clone log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   164
  o  7:02de42196ebe public Nicolas Dumazet <nicdumz.commits@gmail.com>  H
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   165
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   166
  | o  6:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com>  G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   167
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   168
  o |  5:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com>  F
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   169
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   170
  | o  4:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com>  E
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   171
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   172
  | @  3:32af7686d403 public Nicolas Dumazet <nicdumz.commits@gmail.com>  D
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   173
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   174
  | o  2:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   175
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   176
  | o  1:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   177
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   178
  o  0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   179
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   180
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   181
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   182
Test a pull with an remote-changegroup and a following changegroup
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   183
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   184
  $ hg bundle -R repo --type v1 --base 2 -r '3:4' bundle2.hg
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   185
  2 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   186
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   187
  > remote-changegroup http://localhost:$HGPORT/bundle2.hg bundle2.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   188
  > changegroup 0:4 5:7
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   189
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   190
  $ hg clone orig clone -r 2
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   191
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   192
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   193
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   194
  added 3 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   195
  new changesets cd010b8cd998:5fddd98957c8
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   196
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   197
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   198
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   199
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   200
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   201
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   202
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   203
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   204
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   205
  added 2 changesets with 2 changes to 2 files (+1 heads)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   206
  remote: changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   207
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   208
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   209
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   210
  added 3 changesets with 2 changes to 2 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   211
  new changesets 32af7686d403:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   212
  (run 'hg heads' to see heads, 'hg merge' to merge)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   213
  $ hg -R clone log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   214
  o  7:02de42196ebe public Nicolas Dumazet <nicdumz.commits@gmail.com>  H
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   215
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   216
  | o  6:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com>  G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   217
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   218
  o |  5:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com>  F
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   219
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   220
  | o  4:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com>  E
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   221
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   222
  | o  3:32af7686d403 public Nicolas Dumazet <nicdumz.commits@gmail.com>  D
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   223
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   224
  | @  2:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   225
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   226
  | o  1:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   227
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   228
  o  0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   229
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   230
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   231
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   232
Test a pull with a changegroup followed by an remote-changegroup
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   233
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   234
  $ hg bundle -R repo --type v1 --base '0:4' -r '5:7' bundle3.hg
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   235
  3 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   236
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   237
  > changegroup 000000000000 :4
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   238
  > remote-changegroup http://localhost:$HGPORT/bundle3.hg bundle3.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   239
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   240
  $ hg clone orig clone -r 2
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   241
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   242
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   243
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   244
  added 3 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   245
  new changesets cd010b8cd998:5fddd98957c8
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   246
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   247
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   248
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   249
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   250
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   251
  remote: changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   252
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   253
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   254
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   255
  added 2 changesets with 2 changes to 2 files (+1 heads)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   256
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   257
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   258
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   259
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   260
  added 3 changesets with 2 changes to 2 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   261
  new changesets 32af7686d403:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   262
  (run 'hg heads' to see heads, 'hg merge' to merge)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   263
  $ hg -R clone log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   264
  o  7:02de42196ebe public Nicolas Dumazet <nicdumz.commits@gmail.com>  H
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   265
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   266
  | o  6:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com>  G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   267
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   268
  o |  5:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com>  F
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   269
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   270
  | o  4:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com>  E
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   271
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   272
  | o  3:32af7686d403 public Nicolas Dumazet <nicdumz.commits@gmail.com>  D
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   273
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   274
  | @  2:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   275
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   276
  | o  1:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   277
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   278
  o  0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   279
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   280
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   281
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   282
Test a pull with two remote-changegroups and a changegroup
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   283
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   284
  $ hg bundle -R repo --type v1 --base 2 -r '3:4' bundle4.hg
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   285
  2 changesets found
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   286
  $ hg bundle -R repo --type v1 --base '3:4' -r '5:6' bundle5.hg
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   287
  2 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   288
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   289
  > remote-changegroup http://localhost:$HGPORT/bundle4.hg bundle4.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   290
  > remote-changegroup http://localhost:$HGPORT/bundle5.hg bundle5.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   291
  > changegroup 0:6 7
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   292
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   293
  $ hg clone orig clone -r 2
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   294
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   295
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   296
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   297
  added 3 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   298
  new changesets cd010b8cd998:5fddd98957c8
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   299
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   300
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   301
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   302
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   303
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   304
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   305
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   306
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   307
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   308
  added 2 changesets with 2 changes to 2 files (+1 heads)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   309
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   310
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   311
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   312
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   313
  added 2 changesets with 1 changes to 1 files
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   314
  remote: changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   315
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   316
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   317
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   318
  added 1 changesets with 1 changes to 1 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   319
  new changesets 32af7686d403:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   320
  (run 'hg heads' to see heads, 'hg merge' to merge)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   321
  $ hg -R clone log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   322
  o  7:02de42196ebe public Nicolas Dumazet <nicdumz.commits@gmail.com>  H
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   323
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   324
  | o  6:eea13746799a public Nicolas Dumazet <nicdumz.commits@gmail.com>  G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   325
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   326
  o |  5:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com>  F
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   327
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   328
  | o  4:9520eea781bc public Nicolas Dumazet <nicdumz.commits@gmail.com>  E
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   329
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   330
  | o  3:32af7686d403 public Nicolas Dumazet <nicdumz.commits@gmail.com>  D
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   331
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   332
  | @  2:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   333
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   334
  | o  1:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   335
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   336
  o  0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   337
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   338
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   339
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   340
Hash digest tests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   341
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   342
  $ hg bundle -R repo --type v1 -a bundle6.hg
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   343
  8 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   344
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   345
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   346
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle6.hg', 'size': 1663, 'digests': 'sha1', 'digest:sha1': '2c880cfec23cff7d8f80c2f12958d1563cbdaba6'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   347
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   348
  $ hg clone ssh://user@dummy/repo clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   349
  requesting all changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   350
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   351
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   352
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   353
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   354
  added 8 changesets with 7 changes to 7 files (+2 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   355
  new changesets cd010b8cd998:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   356
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   357
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   358
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   359
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   360
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   361
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle6.hg', 'size': 1663, 'digests': 'md5', 'digest:md5': 'e22172c2907ef88794b7bea6642c2394'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   362
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   363
  $ hg clone ssh://user@dummy/repo clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   364
  requesting all changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   365
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   366
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   367
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   368
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   369
  added 8 changesets with 7 changes to 7 files (+2 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   370
  new changesets cd010b8cd998:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   371
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   372
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   373
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   374
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   375
Hash digest mismatch throws an error
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   376
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   377
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   378
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle6.hg', 'size': 1663, 'digests': 'sha1', 'digest:sha1': '0' * 40}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   379
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   380
  $ hg clone ssh://user@dummy/repo clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   381
  requesting all changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   382
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   383
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   384
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   385
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   386
  added 8 changesets with 7 changes to 7 files (+2 heads)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   387
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   388
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   389
  abort: bundle at http://localhost:$HGPORT/bundle6.hg is corrupted:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   390
  sha1 mismatch: expected 0000000000000000000000000000000000000000, got 2c880cfec23cff7d8f80c2f12958d1563cbdaba6
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   391
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   392
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   393
Multiple hash digests can be given
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   394
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   395
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   396
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle6.hg', 'size': 1663, 'digests': 'md5 sha1', 'digest:md5': 'e22172c2907ef88794b7bea6642c2394', 'digest:sha1': '2c880cfec23cff7d8f80c2f12958d1563cbdaba6'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   397
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   398
  $ hg clone ssh://user@dummy/repo clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   399
  requesting all changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   400
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   401
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   402
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   403
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   404
  added 8 changesets with 7 changes to 7 files (+2 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   405
  new changesets cd010b8cd998:02de42196ebe
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   406
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   407
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   408
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   409
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   410
If either of the multiple hash digests mismatches, an error is thrown
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   411
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   412
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   413
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle6.hg', 'size': 1663, 'digests': 'md5 sha1', 'digest:md5': '0' * 32, 'digest:sha1': '2c880cfec23cff7d8f80c2f12958d1563cbdaba6'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   414
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   415
  $ hg clone ssh://user@dummy/repo clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   416
  requesting all changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   417
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   418
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   419
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   420
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   421
  added 8 changesets with 7 changes to 7 files (+2 heads)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   422
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   423
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   424
  abort: bundle at http://localhost:$HGPORT/bundle6.hg is corrupted:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   425
  md5 mismatch: expected 00000000000000000000000000000000, got e22172c2907ef88794b7bea6642c2394
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   426
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   427
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   428
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   429
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle6.hg', 'size': 1663, 'digests': 'md5 sha1', 'digest:md5': 'e22172c2907ef88794b7bea6642c2394', 'digest:sha1': '0' * 40}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   430
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   431
  $ hg clone ssh://user@dummy/repo clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   432
  requesting all changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   433
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   434
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   435
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   436
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   437
  added 8 changesets with 7 changes to 7 files (+2 heads)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   438
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   439
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   440
  abort: bundle at http://localhost:$HGPORT/bundle6.hg is corrupted:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   441
  sha1 mismatch: expected 0000000000000000000000000000000000000000, got 2c880cfec23cff7d8f80c2f12958d1563cbdaba6
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   442
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   443
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   444
Corruption tests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   445
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   446
  $ hg clone orig clone -r 2
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   447
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   448
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   449
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   450
  added 3 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34101
diff changeset
   451
  new changesets cd010b8cd998:5fddd98957c8
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   452
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   453
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   454
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   455
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   456
  > remote-changegroup http://localhost:$HGPORT/bundle4.hg bundle4.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   457
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle5.hg', 'size': 578, 'digests': 'sha1', 'digest:sha1': '0' * 40}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   458
  > changegroup 0:6 7
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   459
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   460
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   461
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   462
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   463
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   464
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   465
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   466
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   467
  added 2 changesets with 2 changes to 2 files (+1 heads)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   468
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   469
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   470
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   471
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   472
  added 2 changesets with 1 changes to 1 files
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   473
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   474
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   475
  abort: bundle at http://localhost:$HGPORT/bundle5.hg is corrupted:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   476
  sha1 mismatch: expected 0000000000000000000000000000000000000000, got f29485d6bfd37db99983cfc95ecb52f8ca396106
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   477
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   478
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   479
The entire transaction has been rolled back in the pull above
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   480
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   481
  $ hg -R clone log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   482
  @  2:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   483
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   484
  o  1:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   485
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   486
  o  0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   487
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   488
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   489
No params
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   490
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   491
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   492
  > raw-remote-changegroup {}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   493
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   494
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   495
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   496
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   497
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   498
  abort: remote-changegroup: missing "url" param
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   499
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   500
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   501
Missing size
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   502
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   503
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   504
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle4.hg'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   505
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   506
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   507
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   508
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   509
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   510
  abort: remote-changegroup: missing "size" param
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   511
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   512
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   513
Invalid size
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   514
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   515
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   516
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle4.hg', 'size': 'foo'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   517
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   518
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   519
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   520
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   521
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   522
  abort: remote-changegroup: invalid value for param "size"
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   523
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   524
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   525
Size mismatch
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   526
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   527
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   528
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle4.hg', 'size': 42}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   529
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   530
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   531
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   532
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   533
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   534
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   535
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   536
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   537
  added 2 changesets with 2 changes to 2 files (+1 heads)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   538
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   539
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   540
  abort: bundle at http://localhost:$HGPORT/bundle4.hg is corrupted:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   541
  size mismatch: expected 42, got 581
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   542
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   543
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   544
Unknown digest
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   545
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   546
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   547
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle4.hg', 'size': 581, 'digests': 'foo', 'digest:foo': 'bar'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   548
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   549
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   550
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   551
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   552
  remote: remote-changegroup
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   553
  abort: missing support for remote-changegroup - digest:foo
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   554
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   555
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   556
Missing digest
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   557
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   558
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   559
  > raw-remote-changegroup {'url': 'http://localhost:$HGPORT/bundle4.hg', 'size': 581, 'digests': 'sha1'}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   560
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   561
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   562
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   563
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   564
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   565
  abort: remote-changegroup: missing "digest:sha1" param
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   566
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   567
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   568
Not an HTTP url
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   569
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   570
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   571
  > raw-remote-changegroup {'url': 'ssh://localhost:$HGPORT/bundle4.hg', 'size': 581}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   572
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   573
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   574
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   575
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   576
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   577
  abort: remote-changegroup does not support ssh urls
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   578
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   579
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   580
Not a bundle
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   581
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   582
  $ cat > notbundle.hg << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   583
  > foo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   584
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   585
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   586
  > remote-changegroup http://localhost:$HGPORT/notbundle.hg notbundle.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   587
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   588
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   589
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   590
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   591
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   592
  abort: http://localhost:$HGPORT/notbundle.hg: not a Mercurial bundle
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   593
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   594
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   595
Not a bundle 1.0
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   596
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   597
  $ cat > notbundle10.hg << EOF
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   598
  > HG20
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   599
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   600
  $ cat > repo/.hg/bundle2maker << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   601
  > remote-changegroup http://localhost:$HGPORT/notbundle10.hg notbundle10.hg
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   602
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   603
  $ hg pull -R clone ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   604
  pulling from ssh://user@dummy/repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   605
  searching for changes
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
   606
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   607
  abort: http://localhost:$HGPORT/notbundle10.hg: not a bundle version 1.0
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   608
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   609
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   610
  $ hg -R clone log -G
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   611
  @  2:5fddd98957c8 public Nicolas Dumazet <nicdumz.commits@gmail.com>  C
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   612
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   613
  o  1:42ccdea3bb16 public Nicolas Dumazet <nicdumz.commits@gmail.com>  B
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   614
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   615
  o  0:cd010b8cd998 public Nicolas Dumazet <nicdumz.commits@gmail.com>  A
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   616
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   617
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   618
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   619
  $ killdaemons.py