Mercurial > hg
annotate tests/test-clonebundles.t @ 36755:ff4bc0ab6740 stable
wireproto: check permissions when executing "batch" command (BC) (SEC)
For as long as the "batch" command has existed (introduced by
bd88561afb4b and first released as part of Mercurial 1.9), that command
(like most wire commands introduced after 2008) lacked an entry in
the hgweb permissions table. And since we don't verify permissions if
an entry is missing from the permissions table, this meant that
executing a command via "batch" would bypass all permissions
checks.
The security implications are significant: a Mercurial HTTP server
would allow writes via "batch" wire protocol commands as long as
the HTTP request were processed by Mercurial and the process running
the Mercurial HTTP server had write access to the repository. The
Mercurial defaults of servers being read-only and the various web.*
config options to define access control were bypassed.
In addition, "batch" could be used to exfiltrate data from servers
that were configured to not allow read access.
Both forms of permissions bypass could be mitigated to some extent
by using HTTP authentication. This would prevent HTTP requests from
hitting Mercurial's server logic. However, any authenticated request
would still be able to bypass permissions checks via "batch" commands.
The easiest exploit was to send "pushkey" commands via "batch" and
modify the state of bookmarks, phases, and obsolescence markers.
However, I suspect a well-crafted HTTP request could trick the server
into running the "unbundle" wire protocol command, effectively
performing a full `hg push` to create new changesets on the remote.
This commit plugs this gaping security hole by having the "batch"
command perform permissions checking on each sub-command that is
being batched. We do this by threading a permissions checking
callable all the way to the protocol handler. The threading is a
bit hacky from a code perspective. But it preserves API compatibility,
which is the proper thing to do on the stable branch.
One of the subtle things we do is assume that a command with an
undefined permission is a "push" command. This is the safest thing to
do from a security perspective: we don't want to take chances that
a command could perform a write even though the server is configured
to not allow writes.
As the test changes demonstrate, it is no longer possible to bypass
permissions via the "batch" wire protocol command.
.. bc::
The "batch" wire protocol command now enforces permissions of
each invoked sub-command. Wire protocol commands must define
their operation type or the "batch" command will assume they
can write data and will prevent their execution on HTTP servers
unless the HTTP request method is POST, the server is configured
to allow pushes, and the (possibly authenticated) HTTP user is
authorized to perform a push.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 20 Feb 2018 18:55:58 -0800 |
parents | bdae51a83dfb |
children | 2f7ab4fb7711 |
rev | line source |
---|---|
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 Set up a server |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 |
26932
eb49ffa39fe2
test: use generaldelta in 'test-clonebundle.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26857
diff
changeset
|
3 $ cat >> $HGRCPATH << EOF |
eb49ffa39fe2
test: use generaldelta in 'test-clonebundle.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26857
diff
changeset
|
4 > [format] |
eb49ffa39fe2
test: use generaldelta in 'test-clonebundle.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26857
diff
changeset
|
5 > usegeneraldelta=yes |
eb49ffa39fe2
test: use generaldelta in 'test-clonebundle.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
26857
diff
changeset
|
6 > EOF |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
7 $ hg init server |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
8 $ cd server |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
9 $ cat >> .hg/hgrc << EOF |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
10 > [extensions] |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
11 > clonebundles = |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
12 > EOF |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
13 |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
14 $ touch foo |
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 foo' |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
16 $ touch bar |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
17 $ 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
|
18 |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
19 $ 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
|
20 $ cat hg.pid >> $DAEMON_PIDS |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
21 $ cd .. |
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 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
|
24 |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
25 $ 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
|
26 requesting all changes |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
27 adding changesets |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
28 adding manifests |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
29 adding file changes |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
30 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
|
31 new changesets 53245c60e682:aaff8d2ffbbf |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
32 |
27738
a0e783d26e81
exchange: make clone bundles non-experimental and enabled by default
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27737
diff
changeset
|
33 $ cat server/access.log |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
34 * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob) |
35152
c1b94f34a11a
tests: re-add (glob) for $LOCALIP matches
Augie Fackler <augie@google.com>
parents:
35074
diff
changeset
|
35 $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$ (glob) |
35268
44b8b5ad30eb
pull: retrieve bookmarks through the binary part when possible
Boris Feld <boris.feld@octobus.net>
parents:
35152
diff
changeset
|
36 $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$ (glob) |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
37 |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
38 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
|
39 (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
|
40 |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
41 $ touch server/.hg/clonebundles.manifest |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
42 $ 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
|
43 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
|
44 requesting all changes |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
45 adding changesets |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
46 adding manifests |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
47 adding file changes |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
48 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
|
49 new changesets 53245c60e682:aaff8d2ffbbf |
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 |
32679
3d488079750b
test-clonebundles: conditionalize output for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
32079
diff
changeset
|
56 error fetching bundle: (.* not known|No address associated with hostname) (re) (no-windows !) |
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 |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
134 |
26854
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
135 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
|
136 |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
137 $ 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
|
138 adding changesets |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
139 adding manifests |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
140 adding file changes |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
141 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
|
142 new changesets 53245c60e682 |
26854
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
143 |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
144 $ cd partial-clone |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
145 $ hg pull |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
146 pulling from http://localhost:$HGPORT/ |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
147 searching for changes |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
148 adding changesets |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
149 adding manifests |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
150 adding file changes |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
151 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
|
152 new changesets aaff8d2ffbbf |
26854
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
153 (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
|
154 $ cd .. |
cb4b0ec54990
test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26761
diff
changeset
|
155 |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
156 Bundle with full content works |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
157 |
26643
d2e16419d3f4
clonebundle: support bundle2
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26623
diff
changeset
|
158 $ 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
|
159 2 changesets found |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
160 |
26644
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
161 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
|
162 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
|
163 by old clients. |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
164 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
165 $ f --size --hexdump full.hg |
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
|
166 full.hg: size=396 |
26644
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 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
|
173 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
|
174 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
|
175 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
|
176 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
|
177 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
|
178 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
|
179 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
|
180 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
|
181 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
|
182 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
|
183 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
|
184 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
|
185 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
|
186 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
|
187 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
|
188 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
|
189 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
|
190 0170: d7 8a 78 ed fc d5 76 f1 36 25 81 89 c7 ad ec 90 |..x...v.6%......| |
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 0180: 54 47 75 2b 89 49 b1 00 d2 8a eb 92 |TGu+.I......| |
26644
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
192 |
26623
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
193 $ 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
|
194 $ 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
|
195 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
|
196 adding changesets |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
197 adding manifests |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
198 adding file changes |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
199 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
|
200 finished applying clone bundle |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
201 searching for changes |
5a95fe44121d
clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
202 no changes found |
26644
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
203 |
26857
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
204 Feature works over SSH |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
205 |
33335
72f051f9a7d8
tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
33286
diff
changeset
|
206 $ 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
|
207 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
|
208 adding changesets |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
209 adding manifests |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
210 adding file changes |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
211 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
|
212 finished applying clone bundle |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
213 searching for changes |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
214 no changes found |
e5a1df51bb25
wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26855
diff
changeset
|
215 |
26644
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
216 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
|
217 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
218 $ cat > server/.hg/clonebundles.manifest << EOF |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
219 > http://bad.entry1 BUNDLESPEC=UNKNOWN |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
220 > http://bad.entry2 BUNDLESPEC=xz-v1 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
221 > http://bad.entry3 BUNDLESPEC=none-v100 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
222 > http://localhost:$HGPORT1/full.hg BUNDLESPEC=gzip-v2 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
223 > EOF |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
224 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
225 $ 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
|
226 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
|
227 adding changesets |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
228 adding manifests |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
229 adding file changes |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
230 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
|
231 finished applying clone bundle |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
232 searching for changes |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
233 no changes found |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
234 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
235 Automatic fallback when all entries are filtered |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
236 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
237 $ cat > server/.hg/clonebundles.manifest << EOF |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
238 > http://bad.entry BUNDLESPEC=UNKNOWN |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
239 > EOF |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
240 |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
241 $ hg clone -U http://localhost:$HGPORT filter-all |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
242 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
|
243 (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
|
244 requesting all changes |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
245 adding changesets |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
246 adding manifests |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
247 adding file changes |
74de1c59f71c
clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26643
diff
changeset
|
248 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
|
249 new changesets 53245c60e682:aaff8d2ffbbf |
26645
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
250 |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
251 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
|
252 |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
253 $ cp full.hg sni.hg |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
254 $ cat > server/.hg/clonebundles.manifest << EOF |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
255 > http://localhost:$HGPORT1/sni.hg REQUIRESNI=true |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
256 > http://localhost:$HGPORT1/full.hg |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
257 > EOF |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
258 |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
259 #if sslcontext |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
260 Python 2.7.9+ support SNI |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
261 |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
262 $ hg clone -U http://localhost:$HGPORT sni-supported |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
263 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
|
264 adding changesets |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
265 adding manifests |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
266 adding file changes |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
267 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
|
268 finished applying clone bundle |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
269 searching for changes |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
270 no changes found |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
271 #else |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
272 Python <2.7.9 will filter SNI URLs |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
273 |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
274 $ hg clone -U http://localhost:$HGPORT sni-unsupported |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
275 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
|
276 adding changesets |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
277 adding manifests |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
278 adding file changes |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
279 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
|
280 finished applying clone bundle |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
281 searching for changes |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
282 no changes found |
2faa7671a4b3
clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26644
diff
changeset
|
283 #endif |
26648
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
284 |
26761
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
285 Stream clone bundles are supported |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
286 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
287 $ 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
|
288 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
|
289 bundle requirements: generaldelta, revlogv1 |
26761
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
290 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
291 No bundle spec should work |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
292 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
293 $ 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
|
294 > http://localhost:$HGPORT1/packed.hg |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
295 > EOF |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
296 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
297 $ 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
|
298 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
|
299 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
|
300 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
|
301 finished applying clone bundle |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
302 searching for changes |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
303 no changes found |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
304 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
305 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
|
306 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
307 $ 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
|
308 > 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
|
309 > EOF |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
310 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
311 $ 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
|
312 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
|
313 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
|
314 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
|
315 finished applying clone bundle |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
316 searching for changes |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
317 no changes found |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
318 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
319 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
|
320 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
321 $ 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
|
322 > 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
|
323 > EOF |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
324 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
325 $ 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
|
326 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
|
327 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
|
328 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
|
329 finished applying clone bundle |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
330 searching for changes |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
331 no changes found |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
332 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
333 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
|
334 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
335 $ 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
|
336 > 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
|
337 > EOF |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
338 |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
339 $ 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
|
340 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
|
341 (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
|
342 requesting all changes |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
343 adding changesets |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
344 adding manifests |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
345 adding file changes |
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
346 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
|
347 new changesets 53245c60e682:aaff8d2ffbbf |
26761
8270ee357dd9
exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26732
diff
changeset
|
348 |
26648
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
349 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
|
350 (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
|
351 important) |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
352 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
353 $ 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
|
354 $ 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
|
355 $ 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
|
356 $ 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
|
357 $ 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
|
358 > 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
|
359 > 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
|
360 > 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
|
361 > 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
|
362 > EOF |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
363 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
364 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
|
365 |
27737
482eb357fe98
exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27736
diff
changeset
|
366 $ 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
|
367 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
|
368 adding changesets |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
369 adding manifests |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
370 adding file changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
371 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
|
372 finished applying clone bundle |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
373 searching for changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
374 no changes found |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
375 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
376 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
|
377 |
27737
482eb357fe98
exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27736
diff
changeset
|
378 $ 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
|
379 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
|
380 adding changesets |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
381 adding manifests |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
382 adding file changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
383 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
|
384 finished applying clone bundle |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
385 searching for changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
386 no changes found |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
387 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
388 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
|
389 |
27737
482eb357fe98
exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27736
diff
changeset
|
390 $ 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
|
391 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
|
392 adding changesets |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
393 adding manifests |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
394 adding file changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
395 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
|
396 finished applying clone bundle |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
397 searching for changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
398 no changes found |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
399 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
400 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
|
401 |
27737
482eb357fe98
exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27736
diff
changeset
|
402 $ 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
|
403 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
|
404 adding changesets |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
405 adding manifests |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
406 adding file changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
407 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
|
408 finished applying clone bundle |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
409 searching for changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
410 no changes found |
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 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
|
413 |
27737
482eb357fe98
exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27736
diff
changeset
|
414 $ 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
|
415 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
|
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 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
423 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
424 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
|
425 |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
426 $ 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
|
427 > 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
|
428 > 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
|
429 > 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
|
430 > 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
|
431 > EOF |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
432 |
27737
482eb357fe98
exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents:
27736
diff
changeset
|
433 $ 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
|
434 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
|
435 adding changesets |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
436 adding manifests |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
437 adding file changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
438 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
|
439 finished applying clone bundle |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
440 searching for changes |
c347d532bb56
exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents:
26645
diff
changeset
|
441 no changes found |
34363
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
442 |
34393
fffd3369aa83
commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34386
diff
changeset
|
443 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
|
444 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
445 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
|
446 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
447 $ 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
|
448 > 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
|
449 > EOF |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
450 |
34393
fffd3369aa83
commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34386
diff
changeset
|
451 $ 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
|
452 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
|
453 (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
|
454 streaming all changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
455 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
|
456 transferred 613 bytes in * seconds (*) (glob) |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
457 searching for changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
458 no changes found |
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 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
|
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/packed.hg |
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-no-bundlespec |
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 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
470 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
|
471 transferred 613 bytes in * seconds (*) (glob) |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
472 searching for changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
473 no changes found |
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 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
|
476 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
477 $ 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
|
478 > 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
|
479 > 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
|
480 > EOF |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
481 |
34393
fffd3369aa83
commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34386
diff
changeset
|
482 $ 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
|
483 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
|
484 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
|
485 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
|
486 finished applying clone bundle |
34363
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
487 searching for changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
488 no changes found |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
489 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
490 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
|
491 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
492 $ 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
|
493 > 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
|
494 > 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
|
495 > EOF |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
496 |
34393
fffd3369aa83
commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34386
diff
changeset
|
497 $ 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
|
498 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
|
499 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
|
500 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
|
501 finished applying clone bundle |
34363
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
502 searching for changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
503 no changes found |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
504 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
505 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
|
506 |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
507 $ 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
|
508 > 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
|
509 > 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
|
510 > EOF |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
511 |
34393
fffd3369aa83
commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34386
diff
changeset
|
512 $ 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
|
513 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
|
514 (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
|
515 streaming all changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
516 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
|
517 transferred 613 bytes in * seconds (*) (glob) |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
518 searching for changes |
880e47351d1a
tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34322
diff
changeset
|
519 no changes found |
35565
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
520 |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
521 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
|
522 |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
523 $ 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
|
524 > [extensions] |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
525 > largefiles= |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
526 > EOF |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
527 $ killdaemons.py |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
528 $ 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
|
529 $ 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
|
530 |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
531 $ hg -R server debuglfput gz-a.hg |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
532 f6eca29e25359f6a92f1ea64527cdcf1b5abe62a |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
533 |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
534 $ cat > server/.hg/clonebundles.manifest << EOF |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
535 > largefile://f6eca29e25359f6a92f1ea64527cdcf1b5abe62a BUNDLESPEC=gzip-v2 |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
536 > EOF |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
537 |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
538 $ hg clone -U http://localhost:$HGPORT largefile-provided --traceback |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
539 applying clone bundle from largefile://f6eca29e25359f6a92f1ea64527cdcf1b5abe62a |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
540 adding changesets |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
541 adding manifests |
bdae51a83dfb
clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents:
35268
diff
changeset
|
542 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
|
543 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
|
544 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
|
545 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
|
546 no changes found |