tests/test-clonebundles.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 08 Oct 2018 17:24:28 -0700
changeset 40138 b5bf3dd6ec5b
parent 40034 393e44324037
child 40371 5a81c4aa6313
permissions -rw-r--r--
wireprotov2: send content encoded frames from server Now that we have support for negotiating encodings and configuring an encoder, we can start sending content encoded frames from the server. This commit teaches the wireprotov2 server code to send content encoded frames. On the mozilla-unified repository with zstd enabled peers, this change reduces the total amount of data transferred from server to client drastically: befor: 7,190,995,812 bytes after: 1,605,508,691 bytes Differential Revision: https://phab.mercurial-scm.org/D4927
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38021
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37556
diff changeset
     1
#require no-reposimplestore no-chg
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
     2
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     3
Set up a server
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     4
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     5
  $ hg init server
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     6
  $ cd server
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     7
  $ cat >> .hg/hgrc << EOF
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     8
  > [extensions]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
     9
  > clonebundles =
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    10
  > EOF
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    11
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    12
  $ touch foo
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    13
  $ hg -q commit -A -m 'add foo'
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    14
  $ touch bar
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    15
  $ hg -q commit -A -m 'add bar'
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    16
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    17
  $ hg serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    18
  $ cat hg.pid >> $DAEMON_PIDS
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    19
  $ cd ..
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    20
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    21
Missing manifest should not result in server lookup
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    22
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    23
  $ hg --verbose clone -U http://localhost:$HGPORT no-manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    24
  requesting all changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    25
  adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    26
  adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    27
  adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    28
  added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
    29
  new changesets 53245c60e682:aaff8d2ffbbf
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39722
diff changeset
    30
  (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    31
27738
a0e783d26e81 exchange: make clone bundles non-experimental and enabled by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27737
diff changeset
    32
  $ cat server/access.log
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
    33
  * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37349
diff changeset
    34
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37349
diff changeset
    35
  $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=aaff8d2ffbbf07a46dd1f05d8ae7877e3f56e2a2&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    36
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    37
Empty manifest file results in retrieval
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    38
(the extension only checks if the manifest file exists)
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    39
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    40
  $ touch server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    41
  $ hg --verbose clone -U http://localhost:$HGPORT empty-manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    42
  no clone bundles available on remote; falling back to regular clone
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    43
  requesting all changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    44
  adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    45
  adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    46
  adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    47
  added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
    48
  new changesets 53245c60e682:aaff8d2ffbbf
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39722
diff changeset
    49
  (sent 4 HTTP requests and * bytes; received * bytes in responses) (glob)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    50
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    51
Manifest file with invalid URL aborts
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    52
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    53
  $ echo 'http://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    54
  $ hg clone http://localhost:$HGPORT 404-url
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    55
  applying clone bundle from http://does.not.exist/bundle.hg
35853
2f7ab4fb7711 tests: allow [Errno] in output
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35565
diff changeset
    56
  error fetching bundle: (.* not known|(\[Errno -?\d+])? No address associated with hostname) (re) (no-windows !)
32679
3d488079750b test-clonebundles: conditionalize output for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32079
diff changeset
    57
  error fetching bundle: [Errno 11004] getaddrinfo failed (windows !)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    58
  abort: error applying bundle
27738
a0e783d26e81 exchange: make clone bundles non-experimental and enabled by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27737
diff changeset
    59
  (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    60
  [255]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    61
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    62
Server is not running aborts
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    63
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    64
  $ echo "http://localhost:$HGPORT1/bundle.hg" > server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    65
  $ hg clone http://localhost:$HGPORT server-not-runner
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    66
  applying clone bundle from http://localhost:$HGPORT1/bundle.hg
32993
d8b40230c8e8 tests: update regex check for fetch error in test-clonebundles.t
Denis Laxalde <denis@laxalde.org>
parents: 32940
diff changeset
    67
  error fetching bundle: (.* refused.*|Protocol not supported|(.* )?Cannot assign requested address) (re)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    68
  abort: error applying bundle
27738
a0e783d26e81 exchange: make clone bundles non-experimental and enabled by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27737
diff changeset
    69
  (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    70
  [255]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    71
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    72
Server returns 404
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    73
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
    74
  $ "$PYTHON" $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    75
  $ cat http.pid >> $DAEMON_PIDS
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    76
  $ hg clone http://localhost:$HGPORT running-404
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    77
  applying clone bundle from http://localhost:$HGPORT1/bundle.hg
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    78
  HTTP error fetching bundle: HTTP Error 404: File not found
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    79
  abort: error applying bundle
27738
a0e783d26e81 exchange: make clone bundles non-experimental and enabled by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27737
diff changeset
    80
  (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    81
  [255]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    82
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    83
We can override failure to fall back to regular clone
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    84
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    85
  $ hg --config ui.clonebundlefallback=true clone -U http://localhost:$HGPORT 404-fallback
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    86
  applying clone bundle from http://localhost:$HGPORT1/bundle.hg
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    87
  HTTP error fetching bundle: HTTP Error 404: File not found
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    88
  falling back to normal clone
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    89
  requesting all changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    90
  adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    91
  adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    92
  adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    93
  added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
    94
  new changesets 53245c60e682:aaff8d2ffbbf
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    95
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    96
Bundle with partial content works
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    97
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
    98
  $ hg -R server bundle --type gzip-v1 --base null -r 53245c60e682 partial.hg
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
    99
  1 changesets found
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   100
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   101
We verify exact bundle content as an extra check against accidental future
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   102
changes. If this output changes, we could break old clients.
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   103
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   104
  $ f --size --hexdump partial.hg
27711
7a678a12a5cf mdiff: don't emit a diff header for empty trivial deltas
Mike Hommey <mh@glandium.org>
parents: 27432
diff changeset
   105
  partial.hg: size=207
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   106
  0000: 48 47 31 30 47 5a 78 9c 63 60 60 98 17 ac 12 93 |HG10GZx.c``.....|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   107
  0010: f0 ac a9 23 45 70 cb bf 0d 5f 59 4e 4a 7f 79 21 |...#Ep..._YNJ.y!|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   108
  0020: 9b cc 40 24 20 a0 d7 ce 2c d1 38 25 cd 24 25 d5 |..@$ ...,.8%.$%.|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   109
  0030: d8 c2 22 cd 38 d9 24 cd 22 d5 c8 22 cd 24 cd 32 |..".8.$."..".$.2|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   110
  0040: d1 c2 d0 c4 c8 d2 32 d1 38 39 29 c9 34 cd d4 80 |......2.89).4...|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   111
  0050: ab 24 b5 b8 84 cb 40 c1 80 2b 2d 3f 9f 8b 2b 31 |.$....@..+-?..+1|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   112
  0060: 25 45 01 c8 80 9a d2 9b 65 fb e5 9e 45 bf 8d 7f |%E......e...E...|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   113
  0070: 9f c6 97 9f 2b 44 34 67 d9 ec 8e 0f a0 92 0b 75 |....+D4g.......u|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   114
  0080: 41 d6 24 59 18 a4 a4 9a a6 18 1a 5b 98 9b 5a 98 |A.$Y.......[..Z.|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   115
  0090: 9a 18 26 9b a6 19 98 1a 99 99 26 a6 18 9a 98 24 |..&.......&....$|
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   116
  00a0: 26 59 a6 25 5a 98 a5 18 a6 24 71 41 35 b1 43 dc |&Y.%Z....$qA5.C.|
27711
7a678a12a5cf mdiff: don't emit a diff header for empty trivial deltas
Mike Hommey <mh@glandium.org>
parents: 27432
diff changeset
   117
  00b0: 16 b2 83 f7 e9 45 8b d2 56 c7 a3 1f 82 52 d7 8a |.....E..V....R..|
7a678a12a5cf mdiff: don't emit a diff header for empty trivial deltas
Mike Hommey <mh@glandium.org>
parents: 27432
diff changeset
   118
  00c0: 78 ed fc d5 76 f1 36 35 dc 05 00 36 ed 5e c7    |x...v.65...6.^.|
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   119
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   120
  $ echo "http://localhost:$HGPORT1/partial.hg" > server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   121
  $ hg clone -U http://localhost:$HGPORT partial-bundle
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   122
  applying clone bundle from http://localhost:$HGPORT1/partial.hg
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   123
  adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   124
  adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   125
  adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   126
  added 1 changesets with 1 changes to 1 files
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   127
  finished applying clone bundle
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   128
  searching for changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   129
  adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   130
  adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   131
  adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   132
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
   133
  new changesets aaff8d2ffbbf
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   134
  1 local changesets published
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   135
26854
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   136
Incremental pull doesn't fetch bundle
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   137
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   138
  $ hg clone -r 53245c60e682 -U http://localhost:$HGPORT partial-clone
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   139
  adding changesets
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   140
  adding manifests
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   141
  adding file changes
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   142
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
   143
  new changesets 53245c60e682
26854
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   144
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   145
  $ cd partial-clone
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   146
  $ hg pull
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   147
  pulling from http://localhost:$HGPORT/
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   148
  searching for changes
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   149
  adding changesets
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   150
  adding manifests
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   151
  adding file changes
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   152
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
   153
  new changesets aaff8d2ffbbf
26854
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   154
  (run 'hg update' to get a working copy)
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   155
  $ cd ..
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
   156
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   157
Bundle with full content works
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   158
26643
d2e16419d3f4 clonebundle: support bundle2
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26623
diff changeset
   159
  $ hg -R server bundle --type gzip-v2 --base null -r tip full.hg
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   160
  2 changesets found
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   161
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   162
Again, we perform an extra check against bundle content changes. If this content
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   163
changes, clone bundles produced by new Mercurial versions may not be readable
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   164
by old clients.
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   165
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   166
  $ f --size --hexdump full.hg
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 35853
diff changeset
   167
  full.hg: size=442
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   168
  0000: 48 47 32 30 00 00 00 0e 43 6f 6d 70 72 65 73 73 |HG20....Compress|
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   169
  0010: 69 6f 6e 3d 47 5a 78 9c 63 60 60 d0 e4 76 f6 70 |ion=GZx.c``..v.p|
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   170
  0020: f4 73 77 75 0f f2 0f 0d 60 00 02 46 46 76 26 4e |.swu....`..FFv&N|
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   171
  0030: c6 b2 d4 a2 e2 cc fc 3c 03 a3 bc a4 e4 8c c4 bc |.......<........|
30211
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   172
  0040: f4 d4 62 23 06 06 e6 19 40 f9 4d c1 2a 31 09 cf |..b#....@.M.*1..|
29593
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   173
  0050: 9a 3a 52 04 b7 fc db f0 95 e5 a4 f4 97 17 b2 c9 |.:R.............|
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   174
  0060: 0c 14 00 02 e6 d9 99 25 1a a7 a4 99 a4 a4 1a 5b |.......%.......[|
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   175
  0070: 58 a4 19 27 9b a4 59 a4 1a 59 a4 99 a4 59 26 5a |X..'..Y..Y...Y&Z|
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   176
  0080: 18 9a 18 59 5a 26 1a 27 27 25 99 a6 99 1a 70 95 |...YZ&.''%....p.|
953839de96ab bundle2: store changeset count when creating file bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29064
diff changeset
   177
  0090: a4 16 97 70 19 28 18 70 a5 e5 e7 73 71 25 a6 a4 |...p.(.p...sq%..|
30211
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   178
  00a0: 28 00 19 20 17 af fa df ab ff 7b 3f fb 92 dc 8b |(.. ......{?....|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   179
  00b0: 1f 62 bb 9e b7 d7 d9 87 3d 5a 44 89 2f b0 99 87 |.b......=ZD./...|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   180
  00c0: ec e2 54 63 43 e3 b4 64 43 73 23 33 43 53 0b 63 |..TcC..dCs#3CS.c|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   181
  00d0: d3 14 23 03 a0 fb 2c 2c 0c d3 80 1e 30 49 49 b1 |..#...,,....0II.|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   182
  00e0: 4c 4a 32 48 33 30 b0 34 42 b8 38 29 b1 08 e2 62 |LJ2H30.4B.8)...b|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   183
  00f0: 20 03 6a ca c2 2c db 2f f7 2c fa 6d fc fb 34 be | .j..,./.,.m..4.|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   184
  0100: fc 5c 21 a2 39 cb 66 77 7c 00 0d c3 59 17 14 58 |.\!.9.fw|...Y..X|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   185
  0110: 49 16 06 29 a9 a6 29 86 c6 16 e6 a6 16 a6 26 86 |I..)..).......&.|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   186
  0120: c9 a6 69 06 a6 46 66 a6 89 29 86 26 26 89 49 96 |..i..Ff..).&&.I.|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   187
  0130: 69 89 16 66 29 86 29 49 5c 20 07 3e 16 fe 23 ae |i..f).)I\ .>..#.|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   188
  0140: 26 da 1c ab 10 1f d1 f8 e3 b3 ef cd dd fc 0c 93 |&...............|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   189
  0150: 88 75 34 36 75 04 82 55 17 14 36 a4 38 10 04 d8 |.u46u..U..6.8...|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   190
  0160: 21 01 9a b1 83 f7 e9 45 8b d2 56 c7 a3 1f 82 52 |!......E..V....R|
6b0741d6d234 changegroup: skip delta when the underlying revlog do not use them
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 29845
diff changeset
   191
  0170: d7 8a 78 ed fc d5 76 f1 36 25 81 89 c7 ad ec 90 |..x...v.6%......|
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
   192
  0180: 54 47 75 2b 89 48 b1 b2 62 c9 89 c9 19 a9 56 45 |TGu+.H..b.....VE|
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
   193
  0190: a9 65 ba 49 45 89 79 c9 19 ba 60 01 a0 14 23 58 |.e.IE.y...`...#X|
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 35853
diff changeset
   194
  01a0: 81 35 c8 7d 40 cc 04 e2 a4 a4 a6 25 96 e6 94 60 |.5.}@......%...`|
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
   195
  01b0: 33 17 5f 54 00 00 d3 1b 0d 4c                   |3._T.....L|
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   196
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   197
  $ echo "http://localhost:$HGPORT1/full.hg" > server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   198
  $ hg clone -U http://localhost:$HGPORT full-bundle
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   199
  applying clone bundle from http://localhost:$HGPORT1/full.hg
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   200
  adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   201
  adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   202
  adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   203
  added 2 changesets with 2 changes to 2 files
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   204
  finished applying clone bundle
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   205
  searching for changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
   206
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   207
  2 local changesets published
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   208
26857
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   209
Feature works over SSH
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   210
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
   211
  $ hg clone -U -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/server ssh-full-clone
26857
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   212
  applying clone bundle from http://localhost:$HGPORT1/full.hg
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   213
  adding changesets
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   214
  adding manifests
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   215
  adding file changes
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   216
  added 2 changesets with 2 changes to 2 files
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   217
  finished applying clone bundle
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   218
  searching for changes
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   219
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   220
  2 local changesets published
26857
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
   221
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   222
Entry with unknown BUNDLESPEC is filtered and not used
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   223
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   224
  $ cat > server/.hg/clonebundles.manifest << EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   225
  > http://bad.entry1 BUNDLESPEC=UNKNOWN
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   226
  > http://bad.entry2 BUNDLESPEC=xz-v1
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   227
  > http://bad.entry3 BUNDLESPEC=none-v100
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   228
  > http://localhost:$HGPORT1/full.hg BUNDLESPEC=gzip-v2
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   229
  > EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   230
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   231
  $ hg clone -U http://localhost:$HGPORT filter-unknown-type
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   232
  applying clone bundle from http://localhost:$HGPORT1/full.hg
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   233
  adding changesets
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   234
  adding manifests
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   235
  adding file changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   236
  added 2 changesets with 2 changes to 2 files
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   237
  finished applying clone bundle
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   238
  searching for changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   239
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   240
  2 local changesets published
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   241
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   242
Automatic fallback when all entries are filtered
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   243
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   244
  $ cat > server/.hg/clonebundles.manifest << EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   245
  > http://bad.entry BUNDLESPEC=UNKNOWN
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   246
  > EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   247
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   248
  $ hg clone -U http://localhost:$HGPORT filter-all
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   249
  no compatible clone bundles available on server; falling back to regular clone
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   250
  (you may want to report this to the server operator)
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   251
  requesting all changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   252
  adding changesets
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   253
  adding manifests
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   254
  adding file changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
   255
  added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
   256
  new changesets 53245c60e682:aaff8d2ffbbf
26645
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   257
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   258
URLs requiring SNI are filtered in Python <2.7.9
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   259
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   260
  $ cp full.hg sni.hg
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   261
  $ cat > server/.hg/clonebundles.manifest << EOF
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   262
  > http://localhost:$HGPORT1/sni.hg REQUIRESNI=true
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   263
  > http://localhost:$HGPORT1/full.hg
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   264
  > EOF
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   265
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   266
#if sslcontext
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   267
Python 2.7.9+ support SNI
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   268
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   269
  $ hg clone -U http://localhost:$HGPORT sni-supported
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   270
  applying clone bundle from http://localhost:$HGPORT1/sni.hg
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   271
  adding changesets
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   272
  adding manifests
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   273
  adding file changes
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   274
  added 2 changesets with 2 changes to 2 files
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   275
  finished applying clone bundle
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   276
  searching for changes
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   277
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   278
  2 local changesets published
26645
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   279
#else
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   280
Python <2.7.9 will filter SNI URLs
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   281
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   282
  $ hg clone -U http://localhost:$HGPORT sni-unsupported
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   283
  applying clone bundle from http://localhost:$HGPORT1/full.hg
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   284
  adding changesets
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   285
  adding manifests
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   286
  adding file changes
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   287
  added 2 changesets with 2 changes to 2 files
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   288
  finished applying clone bundle
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   289
  searching for changes
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   290
  no changes found
38833
c9e6ca31cfe7 tests: update test expectations in pre-2.7.9 branch of this test
Augie Fackler <augie@google.com>
parents: 38250
diff changeset
   291
  2 local changesets published
26645
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
   292
#endif
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   293
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   294
Stream clone bundles are supported
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   295
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   296
  $ hg -R server debugcreatestreamclonebundle packed.hg
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   297
  writing 613 bytes for 4 files
26932
eb49ffa39fe2 test: use generaldelta in 'test-clonebundle.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 26857
diff changeset
   298
  bundle requirements: generaldelta, revlogv1
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   299
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   300
No bundle spec should work
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   301
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   302
  $ cat > server/.hg/clonebundles.manifest << EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   303
  > http://localhost:$HGPORT1/packed.hg
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   304
  > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   305
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   306
  $ hg clone -U http://localhost:$HGPORT stream-clone-no-spec
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   307
  applying clone bundle from http://localhost:$HGPORT1/packed.hg
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   308
  4 files to transfer, 613 bytes of data
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   309
  transferred 613 bytes in *.* seconds (*) (glob)
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   310
  finished applying clone bundle
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   311
  searching for changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   312
  no changes found
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   313
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   314
Bundle spec without parameters should work
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   315
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   316
  $ cat > server/.hg/clonebundles.manifest << EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   317
  > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   318
  > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   319
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   320
  $ hg clone -U http://localhost:$HGPORT stream-clone-vanilla-spec
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   321
  applying clone bundle from http://localhost:$HGPORT1/packed.hg
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   322
  4 files to transfer, 613 bytes of data
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   323
  transferred 613 bytes in *.* seconds (*) (glob)
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   324
  finished applying clone bundle
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   325
  searching for changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   326
  no changes found
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   327
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   328
Bundle spec with format requirements should work
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   329
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   330
  $ cat > server/.hg/clonebundles.manifest << EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   331
  > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv1
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   332
  > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   333
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   334
  $ hg clone -U http://localhost:$HGPORT stream-clone-supported-requirements
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   335
  applying clone bundle from http://localhost:$HGPORT1/packed.hg
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   336
  4 files to transfer, 613 bytes of data
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   337
  transferred 613 bytes in *.* seconds (*) (glob)
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   338
  finished applying clone bundle
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   339
  searching for changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   340
  no changes found
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   341
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   342
Stream bundle spec with unknown requirements should be filtered out
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   343
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   344
  $ cat > server/.hg/clonebundles.manifest << EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   345
  > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv42
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   346
  > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   347
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   348
  $ hg clone -U http://localhost:$HGPORT stream-clone-unsupported-requirements
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   349
  no compatible clone bundles available on server; falling back to regular clone
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   350
  (you may want to report this to the server operator)
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   351
  requesting all changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   352
  adding changesets
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   353
  adding manifests
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   354
  adding file changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   355
  added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
   356
  new changesets 53245c60e682:aaff8d2ffbbf
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
   357
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   358
Set up manifest for testing preferences
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   359
(Remember, the TYPE does not have to match reality - the URL is
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   360
important)
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   361
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   362
  $ cp full.hg gz-a.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   363
  $ cp full.hg gz-b.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   364
  $ cp full.hg bz2-a.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   365
  $ cp full.hg bz2-b.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   366
  $ cat > server/.hg/clonebundles.manifest << EOF
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   367
  > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 extra=a
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   368
  > http://localhost:$HGPORT1/bz2-a.hg BUNDLESPEC=bzip2-v2 extra=a
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   369
  > http://localhost:$HGPORT1/gz-b.hg BUNDLESPEC=gzip-v2 extra=b
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   370
  > http://localhost:$HGPORT1/bz2-b.hg BUNDLESPEC=bzip2-v2 extra=b
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   371
  > EOF
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   372
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   373
Preferring an undefined attribute will take first entry
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   374
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
   375
  $ hg --config ui.clonebundleprefers=foo=bar clone -U http://localhost:$HGPORT prefer-foo
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   376
  applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   377
  adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   378
  adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   379
  adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   380
  added 2 changesets with 2 changes to 2 files
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   381
  finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   382
  searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   383
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   384
  2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   385
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   386
Preferring bz2 type will download first entry of that type
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   387
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
   388
  $ hg --config ui.clonebundleprefers=COMPRESSION=bzip2 clone -U http://localhost:$HGPORT prefer-bz
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   389
  applying clone bundle from http://localhost:$HGPORT1/bz2-a.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   390
  adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   391
  adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   392
  adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   393
  added 2 changesets with 2 changes to 2 files
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   394
  finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   395
  searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   396
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   397
  2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   398
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   399
Preferring multiple values of an option works
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   400
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
   401
  $ hg --config ui.clonebundleprefers=COMPRESSION=unknown,COMPRESSION=bzip2 clone -U http://localhost:$HGPORT prefer-multiple-bz
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   402
  applying clone bundle from http://localhost:$HGPORT1/bz2-a.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   403
  adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   404
  adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   405
  adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   406
  added 2 changesets with 2 changes to 2 files
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   407
  finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   408
  searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   409
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   410
  2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   411
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   412
Sorting multiple values should get us back to original first entry
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   413
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
   414
  $ hg --config ui.clonebundleprefers=BUNDLESPEC=unknown,BUNDLESPEC=gzip-v2,BUNDLESPEC=bzip2-v2 clone -U http://localhost:$HGPORT prefer-multiple-gz
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   415
  applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   416
  adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   417
  adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   418
  adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   419
  added 2 changesets with 2 changes to 2 files
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   420
  finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   421
  searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   422
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   423
  2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   424
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   425
Preferring multiple attributes has correct order
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   426
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
   427
  $ hg --config ui.clonebundleprefers=extra=b,BUNDLESPEC=bzip2-v2 clone -U http://localhost:$HGPORT prefer-separate-attributes
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   428
  applying clone bundle from http://localhost:$HGPORT1/bz2-b.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   429
  adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   430
  adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   431
  adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   432
  added 2 changesets with 2 changes to 2 files
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   433
  finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   434
  searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   435
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   436
  2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   437
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   438
Test where attribute is missing from some entries
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   439
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   440
  $ cat > server/.hg/clonebundles.manifest << EOF
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   441
  > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   442
  > http://localhost:$HGPORT1/bz2-a.hg BUNDLESPEC=bzip2-v2
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   443
  > http://localhost:$HGPORT1/gz-b.hg BUNDLESPEC=gzip-v2 extra=b
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   444
  > http://localhost:$HGPORT1/bz2-b.hg BUNDLESPEC=bzip2-v2 extra=b
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   445
  > EOF
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   446
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
   447
  $ hg --config ui.clonebundleprefers=extra=b clone -U http://localhost:$HGPORT prefer-partially-defined-attribute
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   448
  applying clone bundle from http://localhost:$HGPORT1/gz-b.hg
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   449
  adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   450
  adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   451
  adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   452
  added 2 changesets with 2 changes to 2 files
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   453
  finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   454
  searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
   455
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   456
  2 local changesets published
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   457
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
   458
Test interaction between clone bundles and --stream
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   459
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   460
A manifest with just a gzip bundle
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   461
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   462
  $ cat > server/.hg/clonebundles.manifest << EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   463
  > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   464
  > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   465
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
   466
  $ hg clone -U --stream http://localhost:$HGPORT uncompressed-gzip
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   467
  no compatible clone bundles available on server; falling back to regular clone
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   468
  (you may want to report this to the server operator)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   469
  streaming all changes
39722
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 38833
diff changeset
   470
  9 files to transfer, 816 bytes of data
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 38833
diff changeset
   471
  transferred 816 bytes in * seconds (*) (glob)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   472
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   473
A manifest with a stream clone but no BUNDLESPEC
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   474
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   475
  $ cat > server/.hg/clonebundles.manifest << EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   476
  > http://localhost:$HGPORT1/packed.hg
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   477
  > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   478
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
   479
  $ hg clone -U --stream http://localhost:$HGPORT uncompressed-no-bundlespec
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   480
  no compatible clone bundles available on server; falling back to regular clone
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   481
  (you may want to report this to the server operator)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   482
  streaming all changes
39722
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 38833
diff changeset
   483
  9 files to transfer, 816 bytes of data
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 38833
diff changeset
   484
  transferred 816 bytes in * seconds (*) (glob)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   485
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   486
A manifest with a gzip bundle and a stream clone
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   487
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   488
  $ cat > server/.hg/clonebundles.manifest << EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   489
  > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   490
  > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   491
  > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   492
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
   493
  $ hg clone -U --stream http://localhost:$HGPORT uncompressed-gzip-packed
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   494
  applying clone bundle from http://localhost:$HGPORT1/packed.hg
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   495
  4 files to transfer, 613 bytes of data
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   496
  transferred 613 bytes in * seconds (*) (glob)
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   497
  finished applying clone bundle
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   498
  searching for changes
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   499
  no changes found
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   500
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   501
A manifest with a gzip bundle and stream clone with supported requirements
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   502
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   503
  $ cat > server/.hg/clonebundles.manifest << EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   504
  > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   505
  > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv1
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   506
  > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   507
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
   508
  $ hg clone -U --stream http://localhost:$HGPORT uncompressed-gzip-packed-requirements
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   509
  applying clone bundle from http://localhost:$HGPORT1/packed.hg
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   510
  4 files to transfer, 613 bytes of data
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   511
  transferred 613 bytes in * seconds (*) (glob)
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   512
  finished applying clone bundle
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   513
  searching for changes
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   514
  no changes found
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   515
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   516
A manifest with a gzip bundle and a stream clone with unsupported requirements
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   517
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   518
  $ cat > server/.hg/clonebundles.manifest << EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   519
  > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   520
  > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv42
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   521
  > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   522
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
   523
  $ hg clone -U --stream http://localhost:$HGPORT uncompressed-gzip-packed-unsupported-requirements
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   524
  no compatible clone bundles available on server; falling back to regular clone
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
   525
  (you may want to report this to the server operator)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
   526
  streaming all changes
39722
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 38833
diff changeset
   527
  9 files to transfer, 816 bytes of data
4bd6e444c76f bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net>
parents: 38833
diff changeset
   528
  transferred 816 bytes in * seconds (*) (glob)
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   529
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   530
Test clone bundle retrieved through bundle2
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   531
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   532
  $ cat << EOF >> $HGRCPATH
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   533
  > [extensions]
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   534
  > largefiles=
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   535
  > EOF
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   536
  $ killdaemons.py
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   537
  $ hg -R server serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   538
  $ cat hg.pid >> $DAEMON_PIDS
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   539
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   540
  $ hg -R server debuglfput gz-a.hg
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
   541
  1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   542
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   543
  $ cat > server/.hg/clonebundles.manifest << EOF
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
   544
  > largefile://1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae BUNDLESPEC=gzip-v2
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   545
  > EOF
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   546
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   547
  $ hg clone -U http://localhost:$HGPORT largefile-provided --traceback
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
   548
  applying clone bundle from largefile://1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   549
  adding changesets
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   550
  adding manifests
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   551
  adding file changes
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   552
  added 2 changesets with 2 changes to 2 files
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   553
  finished applying clone bundle
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   554
  searching for changes
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
   555
  no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
   556
  2 local changesets published