tests/test-bundle2-remote-changegroup.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sun, 16 Oct 2016 11:10:21 -0700
changeset 30206 d105195436c0
parent 29818 d4e026341e16
child 31335 f28f2ac65c66
permissions -rw-r--r--
wireproto: compress data from a generator Currently, the "getbundle" wire protocol command obtains a generator of data, converts it to a util.chunkbuffer, then converts it back to a generator via the protocol's groupchunks() implementation. For the SSH protocol, groupchunks() simply reads 4kb chunks then write()s the data to a file descriptor. For the HTTP protocol, groupchunks() reads 32kb chunks, feeds those into a zlib compressor, emits compressed data as it is available, and that is sent to the WSGI layer, where it is likely turned into HTTP chunked transfer chunks as is or further buffered and turned into a larger chunk. For both the SSH and HTTP protocols, there is inefficiency from using util.chunkbuffer. For SSH, emitting consistent 4kb chunks sounds nice. However, the file descriptor it is writing to is almost certainly buffered. That means that a Python .write() probably doesn't translate into exactly what is written to the I/O layer. For HTTP, we're going through an intermediate layer to zlib compress data. So all util.chunkbuffer is doing is ensuring that the chunks we feed into the zlib compressor are of uniform size. This means more CPU time in Python buffering and emitting chunks in util.chunkbuffer but fewer function calls to zlib. This patch introduces and implements a new wire protocol abstract method: compresschunks(). It is like groupchunks() except it operates on a generator instead of something with a .read(). The SSH implementation simply proxies chunks. The HTTP implementation uses zlib compression. To avoid duplicate code, the HTTP groupchunks() has been reimplemented in terms of compresschunks(). To prove this all works, the "getbundle" wire protocol command has been switched to compresschunks(). This removes the util.chunkbuffer from that command. Now, data essentially streams straight from the changegroup emitter to the wire, possibly through a zlib compressor. Generators all the way, baby. There were slim to no performance changes on the server as measured with the mozilla-central repository. This is likely because CPU time is dominated by reading revlogs, producing the changegroup, and zlib compressing the output stream. Still, this brings us a little closer to our ideal of using generators everywhere.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
     1
#require killdaemons
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
     2
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
     3
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
     4
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
     5
  $ cat > bundle2.py << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
     6
  > """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
     7
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
     8
  > 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
     9
  > 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
    10
  > """
29818
d4e026341e16 getchangegroup: take an 'outgoing' object as argument (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29686
diff changeset
    11
  > from mercurial import bundle2, changegroup, discovery, exchange, util
23029
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
  > 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
    14
  >                               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
    15
  >                               **kwargs):
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    16
  >     """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
    17
  >     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
    18
  >     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
    19
  >     repository .hg/ directory.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    20
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    21
  >     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
    22
  >     part to add:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    23
  >       - 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
    24
  >           Creates a changegroup part based, using common_revset and
29818
d4e026341e16 getchangegroup: take an 'outgoing' object as argument (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29686
diff changeset
    25
  >           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
    26
  >       - remote-changegroup url file
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    27
  >           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
    28
  >           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
    29
  >           from the given file.
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    30
  >       - 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
    31
  >           Creates a remote-changegroup part with the data given in the
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    32
  >           python expression as parameters. The python expression is
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    33
  >           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
    34
  >     """
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    35
  >     def newpart(name, data=''):
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    36
  >         """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
    37
  >         client output information about each processed part"""
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
    38
  >         bundler.newpart('output', data=name)
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    39
  >         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
    40
  >         return part
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    41
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    42
  >     for line in open(repo.join('bundle2maker'), 'r'):
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    43
  >         line = line.strip()
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    44
  >         try:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    45
  >             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
    46
  >         except ValueError:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    47
  >             verb, args = line, ''
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    48
  >         if verb == 'remote-changegroup':
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    49
  >            url, file = args.split()
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    50
  >            bundledata = open(file, 'rb').read()
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    51
  >            digest = util.digester.preferred(b2caps['digests'])
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    52
  >            d = util.digester([digest], bundledata)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
    53
  >            part = newpart('remote-changegroup')
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    54
  >            part.addparam('url', url)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    55
  >            part.addparam('size', str(len(bundledata)))
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    56
  >            part.addparam('digests', digest)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    57
  >            part.addparam('digest:%s' % digest, d[digest])
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    58
  >         elif verb == 'raw-remote-changegroup':
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
    59
  >            part = newpart('remote-changegroup')
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    60
  >            for k, v in eval(args).items():
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    61
  >                part.addparam(k, str(v))
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    62
  >         elif verb == 'changegroup':
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    63
  >             _common, heads = args.split()
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    64
  >             common.extend(repo.lookup(r) for r in repo.revs(_common))
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    65
  >             heads = [repo.lookup(r) for r in repo.revs(heads)]
29818
d4e026341e16 getchangegroup: take an 'outgoing' object as argument (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29686
diff changeset
    66
  >             outgoing = discovery.outgoing(repo, common, heads)
d4e026341e16 getchangegroup: take an 'outgoing' object as argument (API)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29686
diff changeset
    67
  >             cg = changegroup.getchangegroup(repo, 'changegroup', outgoing)
24686
e0e28e910fa3 bundle2: rename format, parts and config to final names
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23591
diff changeset
    68
  >             newpart('changegroup', cg.getchunks())
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    69
  >         else:
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    70
  >             raise Exception('unknown verb')
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    71
  > 
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    72
  > exchange.getbundle2partsmapping['changegroup'] = _getbundlechangegrouppart
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    73
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    74
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    75
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
    76
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    77
  $ python "$TESTDIR/dumbhttp.py" -p $HGPORT --pid dumb.pid
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    78
  $ 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
    79
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    80
  $ cat >> $HGRCPATH << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    81
  > [ui]
25495
c63bf97cf7c7 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com>
parents: 25476
diff changeset
    82
  > 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
    83
  > 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
    84
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    85
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    86
  $ hg init repo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    87
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    88
  $ 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
    89
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    90
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    91
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    92
  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
    93
  (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
    94
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    95
  $ 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
    96
  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
    97
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
    98
  | 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
    99
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   100
  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
   101
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   102
  | 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
   103
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   104
  | 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
   105
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   106
  | 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
   107
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   108
  | 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
   109
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   110
  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
   111
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   112
  $ hg clone repo orig
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   113
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   114
  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
   115
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   116
  $ 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
   117
  > [extensions]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   118
  > bundle2=$TESTTMP/bundle2.py
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   119
  > EOF
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
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
   122
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   123
  $ 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
   124
  3 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   125
  $ 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
   126
  > 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
   127
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   128
  $ 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
   129
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   130
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   131
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   132
  added 5 changesets with 5 changes to 5 files (+1 heads)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   133
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   134
  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
   135
  $ 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
   136
  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
   137
  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
   138
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   139
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   140
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   141
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   142
  added 3 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
   143
  (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
   144
  $ 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
   145
  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
   146
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   147
  | 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
   148
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   149
  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
   150
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   151
  | 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
   152
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   153
  | @  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
   154
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   155
  | 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
   156
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   157
  | 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
   158
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   159
  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
   160
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   161
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   162
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   163
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
   164
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   165
  $ 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
   166
  2 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   167
  $ 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
   168
  > 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
   169
  > 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
   170
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   171
  $ 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
   172
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   173
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   174
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   175
  added 3 changesets with 3 changes to 3 files
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   176
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   177
  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
   178
  $ 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
   179
  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
   180
  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
   181
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   182
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   183
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   184
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   185
  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
   186
  remote: changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   187
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   188
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   189
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   190
  added 3 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
   191
  (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
   192
  $ 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
   193
  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
   194
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   195
  | 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
   196
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   197
  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
   198
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   199
  | 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
   200
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   201
  | 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
   202
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   203
  | @  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
   204
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   205
  | 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
   206
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   207
  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
   208
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   209
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   210
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   211
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
   212
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   213
  $ 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
   214
  3 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   215
  $ 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
   216
  > changegroup 000000000000 :4
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   217
  > 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
   218
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   219
  $ 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
   220
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   221
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   222
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   223
  added 3 changesets with 3 changes to 3 files
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   224
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   225
  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
   226
  $ 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
   227
  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
   228
  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
   229
  remote: changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   230
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   231
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   232
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   233
  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
   234
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   235
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   236
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   237
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   238
  added 3 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
   239
  (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
   240
  $ 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
   241
  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
   242
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   243
  | 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
   244
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   245
  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
   246
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   247
  | 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
   248
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   249
  | 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
   250
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   251
  | @  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
   252
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   253
  | 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
   254
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   255
  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
   256
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   257
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   258
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   259
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
   260
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   261
  $ 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
   262
  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
   263
  $ 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
   264
  2 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   265
  $ 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
   266
  > 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
   267
  > 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
   268
  > changegroup 0:6 7
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   269
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   270
  $ 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
   271
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   272
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   273
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   274
  added 3 changesets with 3 changes to 3 files
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   275
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   276
  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
   277
  $ 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
   278
  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
   279
  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
   280
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   281
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   282
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   283
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   284
  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
   285
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   286
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   287
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   288
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   289
  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
   290
  remote: changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   291
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   292
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   293
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   294
  added 1 changesets with 1 changes to 1 files (+1 heads)
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   295
  (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
   296
  $ 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
   297
  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
   298
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   299
  | 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
   300
  |/|
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   301
  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
   302
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   303
  | 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
   304
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   305
  | 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
   306
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   307
  | @  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
   308
  | |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   309
  | 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
   310
  |/
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   311
  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
   312
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   313
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   314
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   315
Hash digest tests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   316
26773
ec7e0dbe56d5 test: enforce v1 type in 'test-bundle2-remote-changegroup.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25495
diff changeset
   317
  $ 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
   318
  8 changesets found
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   319
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   320
  $ 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
   321
  > 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
   322
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   323
  $ 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
   324
  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
   325
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   326
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   327
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   328
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   329
  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
   330
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   331
  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
   332
  $ rm -rf clone
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
  $ 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
   335
  > 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
   336
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   337
  $ 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
   338
  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
   339
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   340
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   341
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   342
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   343
  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
   344
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   345
  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
   346
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   347
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   348
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
   349
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   350
  $ 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
   351
  > 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
   352
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   353
  $ 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
   354
  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
   355
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   356
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   357
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   358
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   359
  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
   360
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   361
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   362
  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
   363
  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
   364
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   365
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   366
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
   367
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   368
  $ 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
   369
  > 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
   370
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   371
  $ 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
   372
  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
   373
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   374
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   375
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   376
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   377
  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
   378
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   379
  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
   380
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   381
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   382
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
   383
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   384
  $ 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
   385
  > 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
   386
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   387
  $ 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
   388
  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
   389
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   390
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   391
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   392
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   393
  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
   394
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   395
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   396
  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
   397
  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
   398
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   399
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   400
  $ 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
   401
  > 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
   402
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   403
  $ 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
   404
  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
   405
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   406
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   407
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   408
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   409
  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
   410
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   411
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   412
  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
   413
  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
   414
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   415
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   416
Corruption tests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   417
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   418
  $ 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
   419
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   420
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   421
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   422
  added 3 changesets with 3 changes to 3 files
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   423
  updating to branch default
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   424
  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
   425
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   426
  $ 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
   427
  > 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
   428
  > 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
   429
  > changegroup 0:6 7
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 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
   432
  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
   433
  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
   434
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   435
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   436
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   437
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   438
  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
   439
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   440
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   441
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   442
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   443
  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
   444
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   445
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   446
  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
   447
  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
   448
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   449
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   450
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
   451
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   452
  $ 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
   453
  @  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
   454
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   455
  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
   456
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   457
  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
   458
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   459
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   460
No params
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   461
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   462
  $ 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
   463
  > raw-remote-changegroup {}
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   464
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   465
  $ 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
   466
  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
   467
  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
   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
  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
   470
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   471
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   472
Missing size
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   473
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   474
  $ 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
   475
  > 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
   476
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   477
  $ 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
   478
  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
   479
  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
   480
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   481
  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
   482
  [255]
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
Invalid size
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
  $ 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
   487
  > 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
   488
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   489
  $ 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
   490
  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
   491
  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
   492
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   493
  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
   494
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   495
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   496
Size mismatch
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   497
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   498
  $ 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
   499
  > 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
   500
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   501
  $ 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
   502
  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
   503
  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
   504
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   505
  adding changesets
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   506
  adding manifests
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   507
  adding file changes
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   508
  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
   509
  transaction abort!
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   510
  rollback completed
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   511
  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
   512
  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
   513
  [255]
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
Unknown digest
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   516
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   517
  $ 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
   518
  > 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
   519
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   520
  $ 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
   521
  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
   522
  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
   523
  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
   524
  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
   525
  [255]
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
Missing digest
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   528
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   529
  $ 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
   530
  > 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
   531
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   532
  $ 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
   533
  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
   534
  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
   535
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   536
  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
   537
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   538
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   539
Not an HTTP url
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   540
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   541
  $ 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
   542
  > 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
   543
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   544
  $ 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
   545
  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
   546
  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
   547
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   548
  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
   549
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   550
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   551
Not a bundle
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   552
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   553
  $ cat > notbundle.hg << EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   554
  > foo
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   555
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   556
  $ 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
   557
  > 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
   558
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   559
  $ 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
   560
  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
   561
  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
   562
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   563
  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
   564
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   565
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   566
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
   567
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   568
  $ 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
   569
  > HG20
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   570
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   571
  $ 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
   572
  > 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
   573
  > EOF
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   574
  $ 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
   575
  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
   576
  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
   577
  remote: remote-changegroup
23029
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   578
  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
   579
  [255]
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   580
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   581
  $ 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
   582
  @  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
   583
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   584
  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
   585
  |
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   586
  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
   587
  
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   588
  $ rm -rf clone
149fc8a44184 bundle2: client side support for a part to import external bundles
Mike Hommey <mh@glandium.org>
parents:
diff changeset
   589
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   590
  $ killdaemons.py