annotate tests/test-clonebundles.t @ 52316:a820a7a1fce0 default tip

setup: require TLS 1.2 support from the Python interpreter (BC) Before it was optional, and either 1.1 or 1.2 was sufficient. Now that the default minimum is 1.2, it needs to be present to work out of the box. The code here is more convoluted than the corresponding checks in `sslutil.py`, but I'm leaving it alone because it can all be simplified when py38 is dropped.
author Matt Harbison <matt_harbison@yahoo.com>
date Thu, 21 Nov 2024 11:46:10 -0500
parents d8b981968a55
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38021
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37556
diff changeset
1 #require no-reposimplestore no-chg
37349
36b2a304216c tests: disable tests for advanced clone features with simple store
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
2
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
3 Set up a server
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
4
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
5 $ hg init server
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
6 $ cd server
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
7 $ cat >> .hg/hgrc << EOF
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
8 > [extensions]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
9 > clonebundles =
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
10 > EOF
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
11
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
12 $ touch foo
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
13 $ hg -q commit -A -m 'add foo'
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
14 $ touch bar
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
15 $ hg -q commit -A -m 'add bar'
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
16
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
17 $ hg serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
18 $ cat hg.pid >> $DAEMON_PIDS
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
19 $ cd ..
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
20
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
21 Missing manifest should not result in server lookup
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
22
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
23 $ hg --verbose clone -U http://localhost:$HGPORT no-manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
24 requesting all changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
25 adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
26 adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
27 adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
28 added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
29 new changesets 53245c60e682:aaff8d2ffbbf
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39722
diff changeset
30 (sent 3 HTTP requests and * bytes; received * bytes in responses) (glob)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
31
27738
a0e783d26e81 exchange: make clone bundles non-experimental and enabled by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27737
diff changeset
32 $ cat server/access.log
37556
b77aa48ba690 httppeer: only advertise partial-pull if capabilities are known
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37498
diff changeset
33 * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37349
diff changeset
34 $LOCALIP - - [$LOGDATE$] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents: 37349
diff changeset
35 $LOCALIP - - [$LOGDATE$] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bookmarks=1&$USUAL_BUNDLE_CAPS$&cg=1&common=0000000000000000000000000000000000000000&heads=aaff8d2ffbbf07a46dd1f05d8ae7877e3f56e2a2&listkeys=bookmarks&phases=1 x-hgproto-1:0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull (glob)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
36
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
37 Empty manifest file results in retrieval
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
38 (the extension only checks if the manifest file exists)
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
39
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
40 $ touch server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
41 $ hg --verbose clone -U http://localhost:$HGPORT empty-manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
42 no clone bundles available on remote; falling back to regular clone
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
43 requesting all changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
44 adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
45 adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
46 adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
47 added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34393
diff changeset
48 new changesets 53245c60e682:aaff8d2ffbbf
40034
393e44324037 httppeer: report http statistics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 39722
diff changeset
49 (sent 4 HTTP requests and * bytes; received * bytes in responses) (glob)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
50
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
51 Manifest file with invalid URL aborts
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
52
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
53 $ echo 'http://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
54 $ hg clone http://localhost:$HGPORT 404-url
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
55 applying clone bundle from http://does.not.exist/bundle.hg
44628
4dacd0cef146 tests: handle new error string from FreeBSD for dns entry not resolving
Augie Fackler <augie@google.com>
parents: 44282
diff changeset
56 error fetching bundle: (.* not known|(\[Errno -?\d+] )?([Nn]o address associated with (host)?name|Temporary failure in name resolution|Name does not resolve)) (re) (no-windows !)
40371
5a81c4aa6313 tests: glob over a difference between Windows 7 and Window 10
Matt Harbison <matt_harbison@yahoo.com>
parents: 40034
diff changeset
57 error fetching bundle: [Errno 1100*] getaddrinfo failed (glob) (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
50541
ef7f943ebabf clonebundles: demonstrate bad behaviour when unknown scheme is present
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50348
diff changeset
62 Manifest file with URL with unknown scheme skips the URL
ef7f943ebabf clonebundles: demonstrate bad behaviour when unknown scheme is present
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50348
diff changeset
63 $ echo 'weirdscheme://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest
ef7f943ebabf clonebundles: demonstrate bad behaviour when unknown scheme is present
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50348
diff changeset
64 $ hg clone http://localhost:$HGPORT unknown-scheme
50542
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
65 no compatible clone bundles available on server; falling back to regular clone
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
66 (you may want to report this to the server operator)
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
67 requesting all changes
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
68 adding changesets
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
69 adding manifests
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
70 adding file changes
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
71 added 2 changesets with 2 changes to 2 files
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
72 new changesets 53245c60e682:aaff8d2ffbbf
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
73 updating to branch default
7b723217d368 clonebundles: filter out invalid schemes instead of failing on them
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50541
diff changeset
74 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
50541
ef7f943ebabf clonebundles: demonstrate bad behaviour when unknown scheme is present
Mathias De Mare <mathias.de_mare@nokia.com>
parents: 50348
diff changeset
75
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
76 Server is not running aborts
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
77
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
78 $ 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
79 $ 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
80 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
51942
73a43fe3e6fd tests: use pattern matching to mask `ECONNREFUSED` messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 51459
diff changeset
81 error fetching bundle: (.*\$ECONNREFUSED\$|Protocol not supported|(.* )?\$EADDRNOTAVAIL\$|.* No route to host) (re)
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
82 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
83 (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
84 [255]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
85
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
86 Server returns 404
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
87
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
88 $ "$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
89 $ cat http.pid >> $DAEMON_PIDS
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
90 $ 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
91 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
92 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
93 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
94 (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
95 [255]
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
96
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
97 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
98
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
99 $ 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
100 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
101 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
102 falling back to normal clone
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
103 requesting all changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
104 adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
105 adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
106 adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
107 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
108 new changesets 53245c60e682:aaff8d2ffbbf
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
109
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
110 Bundle with partial content works
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
111
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
112 $ 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
113 1 changesets found
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
114
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
115 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
116 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
117
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
118 $ 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
119 partial.hg: size=207
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
120 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
121 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
122 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
123 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
124 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
125 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
126 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
127 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
128 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
129 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
130 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
131 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
132 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
133
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
134 $ 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
135 $ 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
136 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
137 adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
138 adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
139 adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
140 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
141 finished applying clone bundle
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
142 searching for changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
143 adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
144 adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
145 adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
146 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
147 new changesets aaff8d2ffbbf
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
148 1 local changesets published
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
149
26854
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
150 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
151
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
152 $ 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
153 adding changesets
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
154 adding manifests
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
155 adding file changes
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
156 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
157 new changesets 53245c60e682
26854
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
158
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
159 $ cd partial-clone
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
160 $ hg pull
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
161 pulling from http://localhost:$HGPORT/
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
162 searching for changes
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
163 adding changesets
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
164 adding manifests
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
165 adding file changes
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
166 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
167 new changesets aaff8d2ffbbf
26854
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
168 (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
169 $ cd ..
cb4b0ec54990 test-clonebundles.t: add test for incremental pull
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26761
diff changeset
170
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
171 Bundle with full content works
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
172
26643
d2e16419d3f4 clonebundle: support bundle2
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26623
diff changeset
173 $ 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
174 2 changesets found
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
175
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
176 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
177 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
178 by old clients.
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
179
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
180 $ f --size --hexdump full.hg
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 35853
diff changeset
181 full.hg: size=442
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
182 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
183 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
184 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
185 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
186 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
187 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
188 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
189 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
190 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
191 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
192 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
193 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
194 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
195 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
196 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
197 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
198 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
199 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
200 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
201 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
202 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
203 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
204 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
205 0170: d7 8a 78 ed fc d5 76 f1 36 25 81 89 c7 ad ec 90 |..x...v.6%......|
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
206 0180: 54 47 75 2b 89 48 b1 b2 62 c9 89 c9 19 a9 56 45 |TGu+.H..b.....VE|
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
207 0190: a9 65 ba 49 45 89 79 c9 19 ba 60 01 a0 14 23 58 |.e.IE.y...`...#X|
36965
b89a7ef29013 bundle: include advisory rev branch cache part in bundle2 bundle
Boris Feld <boris.feld@octobus.net>
parents: 35853
diff changeset
208 01a0: 81 35 c8 7d 40 cc 04 e2 a4 a4 a6 25 96 e6 94 60 |.5.}@......%...`|
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
209 01b0: 33 17 5f 54 00 00 d3 1b 0d 4c |3._T.....L|
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
210
26623
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
211 $ 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
212 $ 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
213 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
214 adding changesets
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
215 adding manifests
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
216 adding file changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
217 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
218 finished applying clone bundle
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
219 searching for changes
5a95fe44121d clonebundles: support for seeding clones from pre-generated bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
220 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
221 2 local changesets published
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
222
26857
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
223 Feature works over SSH
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
224
47920
9c4204b7f3e4 tests: rely on dummyssh being the default
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 46884
diff changeset
225 $ hg clone -U 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
226 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
227 adding changesets
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
228 adding manifests
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
229 adding file changes
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
230 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
231 finished applying clone bundle
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
232 searching for changes
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
233 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
234 2 local changesets published
26857
e5a1df51bb25 wireproto: move clonebundles command from extension (issue4931)
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26855
diff changeset
235
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
236 Inline bundle
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
237 =============
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
238
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
239 Checking bundle retrieved over the wireprotocol
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
240
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
241 Feature works over SSH with inline bundle
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
242 -----------------------------------------
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
243
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
244 $ mkdir server/.hg/bundle-cache/
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
245 $ cp full.hg server/.hg/bundle-cache/
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
246 $ echo "peer-bundle-cache://full.hg" > server/.hg/clonebundles.manifest
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
247 $ hg clone -U ssh://user@dummy/server ssh-inline-clone
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
248 applying clone bundle from peer-bundle-cache://full.hg
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
249 adding changesets
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
250 adding manifests
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
251 adding file changes
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
252 added 2 changesets with 2 changes to 2 files
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
253 finished applying clone bundle
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
254 searching for changes
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
255 no changes found
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
256 2 local changesets published
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
257
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
258 HTTP Supports
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
259 -------------
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
260
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
261 $ hg clone -U http://localhost:$HGPORT http-inline-clone
50701
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
262 applying clone bundle from peer-bundle-cache://full.hg
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
263 adding changesets
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
264 adding manifests
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
265 adding file changes
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
266 added 2 changesets with 2 changes to 2 files
50701
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
267 finished applying clone bundle
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
268 searching for changes
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
269 no changes found
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
270 2 local changesets published
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
271
50703
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
272
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
273 Check local behavior
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
274 --------------------
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
275
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
276 We don't use the clone bundle, but we do not crash either.
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
277
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
278 $ hg clone -U ./server local-inline-clone-default
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
279 $ hg clone -U ./server local-inline-clone-pull --pull
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
280 requesting all changes
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
281 adding changesets
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
282 adding manifests
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
283 adding file changes
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
284 added 2 changesets with 2 changes to 2 files
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
285 new changesets 53245c60e682:aaff8d2ffbbf
af60de30fb50 clone-bundle: double check that inline clone bundle does not break local case
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50701
diff changeset
286
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
287 Pre-transmit Hook
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
288 -----------------
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
289
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
290 Hooks work with inline bundle
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
291
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
292 $ cp server/.hg/hgrc server/.hg/hgrc-beforeinlinehooks
51987
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
293 $ cat >> server/.hg/hgrc <<-EOF
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
294 > [hooks]
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
295 > pretransmit-inline-clone-bundle=sh -c 'printf "foo\n"'
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
296 > EOF
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
297 $ hg clone -U ssh://user@dummy/server ssh-inline-clone-hook
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
298 applying clone bundle from peer-bundle-cache://full.hg
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
299 remote: foo
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
300 adding changesets
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
301 adding manifests
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
302 adding file changes
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
303 added 2 changesets with 2 changes to 2 files
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
304 finished applying clone bundle
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
305 searching for changes
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
306 no changes found
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
307 2 local changesets published
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
308
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
309 Hooks can make an inline bundle fail
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
310
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
311 $ cp server/.hg/hgrc-beforeinlinehooks server/.hg/hgrc
51987
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
312 $ cat >> server/.hg/hgrc <<-EOF
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
313 > [hooks]
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
314 > pretransmit-inline-clone-bundle=sh -c 'printf "bar\n"' && false
d8b981968a55 tests: stabilize `test-clonebundles.t` on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 51982
diff changeset
315 > EOF
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
316 $ hg clone -U ssh://user@dummy/server ssh-inline-clone-hook-fail
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
317 applying clone bundle from peer-bundle-cache://full.hg
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
318 remote: bar
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
319 remote: abort: pretransmit-inline-clone-bundle hook exited with status 1
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
320 abort: stream ended unexpectedly (got 0 bytes, expected 1)
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
321 [255]
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
322 $ cp server/.hg/hgrc-beforeinlinehooks server/.hg/hgrc
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
323
50700
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
324 Other tests
f4e8c82e2cef clone-bundles: reorder some test section and add titles
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50686
diff changeset
325 ===========
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
326
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
327 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
328
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
329 $ cat > server/.hg/clonebundles.manifest << EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
330 > http://bad.entry1 BUNDLESPEC=UNKNOWN
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
331 > http://bad.entry2 BUNDLESPEC=xz-v1
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
332 > http://bad.entry3 BUNDLESPEC=none-v100
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
333 > http://localhost:$HGPORT1/full.hg BUNDLESPEC=gzip-v2
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
334 > EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
335
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
336 $ 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
337 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
338 adding changesets
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
339 adding manifests
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
340 adding file changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
341 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
342 finished applying clone bundle
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
343 searching for changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
344 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
345 2 local changesets published
26644
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
346
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
347 Automatic fallback when all entries are filtered
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
348
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
349 $ cat > server/.hg/clonebundles.manifest << EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
350 > http://bad.entry BUNDLESPEC=UNKNOWN
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
351 > EOF
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
352
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
353 $ hg clone -U http://localhost:$HGPORT filter-all
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
354 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
355 (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
356 requesting all changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
357 adding changesets
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
358 adding manifests
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
359 adding file changes
74de1c59f71c clonebundles: filter on bundle specification
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26643
diff changeset
360 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
361 new changesets 53245c60e682:aaff8d2ffbbf
26645
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
362
44881
89f83e47e9c9 tests: remove "sslcontext" check
Manuel Jacob <me@manueljacob.de>
parents: 44628
diff changeset
363 We require a Python version that supports SNI. Therefore, URLs requiring SNI
89f83e47e9c9 tests: remove "sslcontext" check
Manuel Jacob <me@manueljacob.de>
parents: 44628
diff changeset
364 are not filtered.
26645
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
365
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
366 $ cp full.hg sni.hg
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
367 $ cat > server/.hg/clonebundles.manifest << EOF
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
368 > http://localhost:$HGPORT1/sni.hg REQUIRESNI=true
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
369 > http://localhost:$HGPORT1/full.hg
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
370 > EOF
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
371
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
372 $ hg clone -U http://localhost:$HGPORT sni-supported
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
373 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
374 adding changesets
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
375 adding manifests
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
376 adding file changes
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
377 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
378 finished applying clone bundle
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
379 searching for changes
2faa7671a4b3 clonebundles: filter on SNI requirement
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26644
diff changeset
380 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
381 2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
382
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
383 Stream clone bundles are supported
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
384
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
385 $ hg -R server debugcreatestreamclonebundle packed.hg
51181
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50703
diff changeset
386 writing 613 bytes for 5 files (no-rust !)
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50703
diff changeset
387 writing 739 bytes for 7 files (rust !)
48652
6fd9a17c32ab requirements: add an official `REVLOG_COMPRESSION_ZSTD` const
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47920
diff changeset
388 bundle requirements: generaldelta, revlogv1, sparserevlog (no-rust no-zstd !)
6fd9a17c32ab requirements: add an official `REVLOG_COMPRESSION_ZSTD` const
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47920
diff changeset
389 bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog (no-rust zstd !)
48693
de3ac3d2c60b stream-clone: allow to change persistent-nodemap format during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48652
diff changeset
390 bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog (rust !)
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
391
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
392 No bundle spec should work
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
393
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
394 $ 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
395 > http://localhost:$HGPORT1/packed.hg
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
396 > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
397
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
398 $ 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
399 applying clone bundle from http://localhost:$HGPORT1/packed.hg
51181
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50703
diff changeset
400 5 files to transfer, 613 bytes of data (no-rust !)
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
401 transferred 613 bytes in * seconds (* */sec) (glob) (no-rust !)
51181
dcaa2df1f688 changelog: never inline changelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50703
diff changeset
402 7 files to transfer, 739 bytes of data (rust !)
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
403 transferred 739 bytes in * seconds (* */sec) (glob) (rust !)
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
404 finished applying clone bundle
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
405 searching for changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
406 no changes found
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
407
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
408 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
409
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
410 $ 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
411 > 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
412 > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
413
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
414 $ 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
415 applying clone bundle from http://localhost:$HGPORT1/packed.hg
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
416 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
417 transferred * bytes in * seconds (* */sec) (glob)
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
418 finished applying clone bundle
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
419 searching for changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
420 no changes found
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
421
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
422 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
423
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
424 $ 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
425 > 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
426 > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
427
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
428 $ 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
429 applying clone bundle from http://localhost:$HGPORT1/packed.hg
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
430 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
431 transferred * bytes in * seconds (* */sec) (glob)
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
432 finished applying clone bundle
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
433 searching for changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
434 no changes found
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
435
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
436 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
437
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
438 $ 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
439 > 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
440 > EOF
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
441
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
442 $ 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
443 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
444 (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
445 requesting all changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
446 adding changesets
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
447 adding manifests
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
448 adding file changes
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
449 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
450 new changesets 53245c60e682:aaff8d2ffbbf
26761
8270ee357dd9 exchange: support streaming clone bundles in clone bundles
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26732
diff changeset
451
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
452 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
453 (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
454 important)
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
455
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
456 $ 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
457 $ 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
458 $ 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
459 $ 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
460 $ 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
461 > 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
462 > 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
463 > 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
464 > 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
465 > EOF
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
466
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
467 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
468
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
469 $ 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
470 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
471 adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
472 adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
473 adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
474 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
475 finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
476 searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
477 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
478 2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
479
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
480 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
481
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
482 $ 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
483 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
484 adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
485 adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
486 adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
487 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
488 finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
489 searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
490 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
491 2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
492
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
493 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
494
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
495 $ 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
496 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
497 adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
498 adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
499 adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
500 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
501 finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
502 searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
503 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
504 2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
505
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
506 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
507
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
508 $ 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
509 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
510 adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
511 adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
512 adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
513 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
514 finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
515 searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
516 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
517 2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
518
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
519 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
520
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
521 $ 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
522 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
523 adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
524 adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
525 adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
526 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
527 finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
528 searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
529 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
530 2 local changesets published
26648
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
531
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
532 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
533
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
534 $ 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
535 > 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
536 > 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
537 > 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
538 > 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
539 > EOF
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
540
27737
482eb357fe98 exchange: make clonebundleprefers non-experimental
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27736
diff changeset
541 $ 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
542 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
543 adding changesets
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
544 adding manifests
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
545 adding file changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
546 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
547 finished applying clone bundle
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
548 searching for changes
c347d532bb56 exchange: support sorting URLs by client-side preferences
Gregory Szorc <gregory.szorc@gmail.com>
parents: 26645
diff changeset
549 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
550 2 local changesets published
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
551
44282
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
552 Test a bad attribute list
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
553
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
554 $ hg --config ui.clonebundleprefers=bad clone -U http://localhost:$HGPORT bad-input
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
555 abort: invalid ui.clonebundleprefers item: bad
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
556 (each comma separated item should be key=value pairs)
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
557 [255]
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
558 $ hg --config ui.clonebundleprefers=key=val,bad,key2=val2 clone \
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
559 > -U http://localhost:$HGPORT bad-input
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
560 abort: invalid ui.clonebundleprefers item: bad
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
561 (each comma separated item should be key=value pairs)
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
562 [255]
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
563
877805928f85 exchange: check the `ui.clonebundleprefers` form while processing (issue6257)
Matt Harbison <matt_harbison@yahoo.com>
parents: 42964
diff changeset
564
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
565 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
566
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
567 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
568
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
569 $ 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
570 > 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
571 > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
572
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
573 $ 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
574 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
575 (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
576 streaming all changes
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
577 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
578 transferred * bytes in * seconds (* */sec) (glob)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
579
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
580 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
581
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
582 $ 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
583 > http://localhost:$HGPORT1/packed.hg
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
584 > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
585
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
586 $ 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
587 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
588 (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
589 streaming all changes
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
590 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
591 transferred * bytes in * seconds (* */sec) (glob)
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
592
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
593 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
594
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
595 $ 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
596 > 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
597 > 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
598 > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
599
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
600 $ 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
601 applying clone bundle from http://localhost:$HGPORT1/packed.hg
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
602 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
603 transferred * bytes in * seconds (* */sec) (glob)
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
604 finished applying clone bundle
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
605 searching for changes
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
606 no changes found
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
607
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
608 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
609
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
610 $ 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
611 > 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
612 > 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
613 > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
614
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
615 $ 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
616 applying clone bundle from http://localhost:$HGPORT1/packed.hg
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
617 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
618 transferred * bytes in * seconds (* */sec) (glob)
34364
ff406f3e57b2 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34363
diff changeset
619 finished applying clone bundle
34363
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
620 searching for changes
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
621 no changes found
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
622
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
623 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
624
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
625 $ 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
626 > 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
627 > 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
628 > EOF
880e47351d1a tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34322
diff changeset
629
34393
fffd3369aa83 commands: rename clone --uncompressed to --stream and document
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34386
diff changeset
630 $ 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
631 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
632 (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
633 streaming all changes
51459
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
634 * files to transfer, * bytes of data (glob)
077d5a784c58 test-clonebundles: simplify matching to be less flavor depends
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51181
diff changeset
635 transferred * bytes in * seconds (* */sec) (glob)
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
636
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
637 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
638
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
639 $ 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
640 > [extensions]
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
641 > largefiles=
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
642 > EOF
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
643 $ killdaemons.py
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
644 $ 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
645 $ 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
646
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
647 $ hg -R server debuglfput gz-a.hg
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
648 1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
649
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
650 $ cat > server/.hg/clonebundles.manifest << EOF
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
651 > largefile://1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae BUNDLESPEC=gzip-v2
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
652 > EOF
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
653
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
654 $ hg clone -U http://localhost:$HGPORT largefile-provided --traceback
37842
326b174c6a47 bundle2: mark the bundle2 part as advisory (issue5872)
Boris Feld <boris.feld@octobus.net>
parents: 37556
diff changeset
655 applying clone bundle from largefile://1f74b3d08286b9b3a16fb3fa185dd29219cbc6ae
35565
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
656 adding changesets
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
657 adding manifests
bdae51a83dfb clonebundle: make it possible to retrieve the initial bundle through largefile
Boris Feld <boris.feld@octobus.net>
parents: 35268
diff changeset
658 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
659 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
660 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
661 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
662 no changes found
38250
d0abd7949ea3 phases: use "published" in the phase movement message
Boris Feld <boris.feld@octobus.net>
parents: 38249
diff changeset
663 2 local changesets published
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
664 $ killdaemons.py
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
665
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
666 A manifest with a gzip bundle requiring too much memory for a 16MB system and working
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
667 on a 32MB system.
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
668
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
669 $ "$PYTHON" $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
670 $ cat http.pid >> $DAEMON_PIDS
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
671 $ hg -R server serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
672 $ cat hg.pid >> $DAEMON_PIDS
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
673
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
674 $ cat > server/.hg/clonebundles.manifest << EOF
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
675 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 REQUIREDRAM=12MB
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
676 > EOF
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
677
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
678 $ hg clone -U --debug --config ui.available-memory=16MB http://localhost:$HGPORT gzip-too-large
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
679 using http://localhost:$HGPORT/
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
680 sending capabilities command
50701
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
681 sending clonebundles_manifest command
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
682 filtering http://localhost:$HGPORT1/gz-a.hg as it needs more than 2/3 of system memory
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
683 no compatible clone bundles available on server; falling back to regular clone
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
684 (you may want to report this to the server operator)
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
685 query 1; heads
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
686 sending batch command
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
687 requesting all changes
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
688 sending getbundle command
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
689 bundle2-input-bundle: with-transaction
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
690 bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
691 adding changesets
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
692 add changeset 53245c60e682
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
693 add changeset aaff8d2ffbbf
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
694 adding manifests
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
695 adding file changes
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
696 adding bar revisions
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
697 adding foo revisions
50686
a41eeb877d07 branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50542
diff changeset
698 bundle2-input-part: total payload size 936
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
699 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
700 bundle2-input-part: "phase-heads" supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
701 bundle2-input-part: total payload size 24
46633
7015b0232c5e exchange: stop advertising rev-branch-cache bundle capability
Joerg Sonnenberger <joerg@bec.de>
parents: 46314
diff changeset
702 bundle2-input-bundle: 3 parts total
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
703 checking for updated bookmarks
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
704 updating the branch cache
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
705 added 2 changesets with 2 changes to 2 files
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
706 new changesets 53245c60e682:aaff8d2ffbbf
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
707 calling hook changegroup.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45062
diff changeset
708 updating the branch cache
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
709 (sent 4 HTTP requests and * bytes; received * bytes in responses) (glob)
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
710
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
711 $ hg clone -U --debug --config ui.available-memory=32MB http://localhost:$HGPORT gzip-too-large2
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
712 using http://localhost:$HGPORT/
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
713 sending capabilities command
50701
4238e6b22fc4 clonebundles: introduce a new write protocol command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50700
diff changeset
714 sending clonebundles_manifest command
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
715 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
716 bundle2-input-bundle: 1 params with-transaction
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
717 bundle2-input-part: "changegroup" (params: 1 mandatory 1 advisory) supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
718 adding changesets
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
719 add changeset 53245c60e682
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
720 add changeset aaff8d2ffbbf
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
721 adding manifests
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
722 adding file changes
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
723 adding bar revisions
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
724 adding foo revisions
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
725 bundle2-input-part: total payload size 920
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
726 bundle2-input-part: "cache:rev-branch-cache" (advisory) supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
727 bundle2-input-part: total payload size 59
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
728 bundle2-input-bundle: 2 parts total
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
729 updating the branch cache
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
730 added 2 changesets with 2 changes to 2 files
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
731 finished applying clone bundle
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
732 query 1; heads
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
733 sending batch command
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
734 searching for changes
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
735 all remote heads known locally
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
736 no changes found
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
737 sending getbundle command
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
738 bundle2-input-bundle: with-transaction
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
739 bundle2-input-part: "listkeys" (params: 1 mandatory) supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
740 bundle2-input-part: "phase-heads" supported
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
741 bundle2-input-part: total payload size 24
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
742 bundle2-input-bundle: 2 parts total
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
743 checking for updated bookmarks
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
744 2 local changesets published
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
745 calling hook changegroup.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45062
diff changeset
746 updating the branch cache
45062
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
747 (sent 4 HTTP requests and * bytes; received * bytes in responses) (glob)
72feaeb510b3 clonebundles: optional memory-requirement attribution
Joerg Sonnenberger <joerg@bec.de>
parents: 44881
diff changeset
748 $ killdaemons.py
50346
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
749
51982
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
750 Testing a clone bundle with digest
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
751 ==================================
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
752
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
753 $ "$PYTHON" $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
754 $ cat http.pid >> $DAEMON_PIDS
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
755 $ hg -R server serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
756 $ cat hg.pid >> $DAEMON_PIDS
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
757
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
758 $ digest=$("$PYTHON" -c "import hashlib; print (hashlib.sha256(open('gz-a.hg', 'rb').read()).hexdigest())")
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
759 $ cat > server/.hg/clonebundles.manifest << EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
760 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 DIGEST=sha256:${digest}
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
761 > EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
762 $ hg clone -U http://localhost:$HGPORT digest-valid
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
763 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
764 adding changesets
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
765 adding manifests
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
766 adding file changes
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
767 added 2 changesets with 2 changes to 2 files
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
768 finished applying clone bundle
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
769 searching for changes
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
770 no changes found
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
771 2 local changesets published
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
772 $ digest_bad=$("$PYTHON" -c "import hashlib; print (hashlib.sha256(open('gz-a.hg', 'rb').read()+b'.').hexdigest())")
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
773 $ cat > server/.hg/clonebundles.manifest << EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
774 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 DIGEST=sha256:${digest_bad}
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
775 > EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
776 $ hg clone -U http://localhost:$HGPORT digest-invalid
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
777 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
778 abort: file with digest [0-9a-f]* expected, but [0-9a-f]* found for [0-9]* bytes (re)
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
779 [150]
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
780 $ cat > server/.hg/clonebundles.manifest << EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
781 > http://localhost:$HGPORT1/bad-a.hg BUNDLESPEC=gzip-v2 DIGEST=sha256:xx
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
782 > http://localhost:$HGPORT1/bad-b.hg BUNDLESPEC=gzip-v2 DIGEST=xxx:0000
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
783 > http://localhost:$HGPORT1/bad-c.hg BUNDLESPEC=gzip-v2 DIGEST=sha256:0000
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
784 > http://localhost:$HGPORT1/bad-d.hg BUNDLESPEC=gzip-v2 DIGEST=xxx:00,xxx:01
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
785 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 DIGEST=sha256:${digest_bad}
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
786 > EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
787 $ hg clone --debug -U http://localhost:$HGPORT digest-malformed
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
788 using http://localhost:$HGPORT/
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
789 sending capabilities command
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
790 sending clonebundles_manifest command
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
791 filtering http://localhost:$HGPORT1/bad-a.hg due to a bad DIGEST attribute
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
792 filtering http://localhost:$HGPORT1/bad-b.hg due to lack of supported digest
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
793 filtering http://localhost:$HGPORT1/bad-c.hg due to a bad sha256 digest
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
794 filtering http://localhost:$HGPORT1/bad-d.hg due to conflicting xxx digests
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
795 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
796 bundle2-input-bundle: 1 params with-transaction
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
797 bundle2-input-bundle: 0 parts total
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
798 \(sent [0-9]* HTTP requests and [0-9]* bytes; received [0-9]* bytes in responses\) (re)
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
799 abort: file with digest [0-9a-f]* expected, but [0-9a-f]* found for [0-9]* bytes (re)
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
800 [150]
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
801 $ cat > server/.hg/clonebundles.manifest << EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
802 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 DIGEST=sha512:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,sha256:0000000000000000000000000000000000000000000000000000000000000000
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
803 > EOF
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
804 $ hg clone -U http://localhost:$HGPORT digest-preference
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
805 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
806 abort: file with digest 0{64} expected, but [0-9a-f]+ found for [0-9]+ bytes (re)
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
807 [150]
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
808 $ killdaemons.py
aa7f4a45d8fa clonebundles: allow manifest to specify sha256 digest of bundles
Joerg Sonnenberger <joerg@bec.de>
parents: 51942
diff changeset
809
50346
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
810 Testing a clone bundles that involves revlog splitting (issue6811)
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
811 ==================================================================
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
812
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
813 $ cat >> $HGRCPATH << EOF
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
814 > [format]
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
815 > revlog-compression=none
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
816 > use-persistent-nodemap=no
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
817 > EOF
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
818
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
819 $ hg init server-revlog-split/
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
820 $ cd server-revlog-split
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
821 $ cat >> .hg/hgrc << EOF
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
822 > [extensions]
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
823 > clonebundles =
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
824 > EOF
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
825 $ echo foo > A
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
826 $ hg add A
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
827 $ hg commit -m 'initial commit'
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
828 IMPORTANT: the revlogs must not be split
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
829 $ ls -1 .hg/store/00manifest.*
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
830 .hg/store/00manifest.i
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
831 $ ls -1 .hg/store/data/_a.*
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
832 .hg/store/data/_a.i
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
833
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
834 do big enough update to split the revlogs
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
835
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
836 $ $TESTDIR/seq.py 100000 > A
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
837 $ mkdir foo
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
838 $ cd foo
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
839 $ touch `$TESTDIR/seq.py 10000`
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
840 $ cd ..
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
841 $ hg add -q foo
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
842 $ hg commit -m 'split the manifest and one filelog'
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
843
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
844 IMPORTANT: now the revlogs must be split
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
845 $ ls -1 .hg/store/00manifest.*
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
846 .hg/store/00manifest.d
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
847 .hg/store/00manifest.i
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
848 $ ls -1 .hg/store/data/_a.*
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
849 .hg/store/data/_a.d
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
850 .hg/store/data/_a.i
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
851
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
852 Add an extra commit on top of that
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
853
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
854 $ echo foo >> A
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
855 $ hg commit -m 'one extra commit'
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
856
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
857 $ cd ..
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
858
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
859 Do a bundle that contains the split, but not the update
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
860
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
861 $ hg bundle --exact --rev '::(default~1)' -R server-revlog-split/ --type gzip-v2 split-test.hg
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
862 2 changesets found
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
863
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
864 $ cat > server-revlog-split/.hg/clonebundles.manifest << EOF
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
865 > http://localhost:$HGPORT1/split-test.hg BUNDLESPEC=gzip-v2
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
866 > EOF
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
867
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
868 start the necessary server
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
869
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
870 $ "$PYTHON" $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
871 $ cat http.pid >> $DAEMON_PIDS
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
872 $ hg -R server-revlog-split serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
873 $ cat hg.pid >> $DAEMON_PIDS
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
874
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
875 Check that clone works fine
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
876 ===========================
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
877
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
878 Here, the initial clone will trigger a revlog split (which is a bit clowny it
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
879 itself, but whatever). The split revlogs will see additionnal data added to
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
880 them in the subsequent pull. This should not be a problem
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
881
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
882 $ hg clone http://localhost:$HGPORT revlog-split-in-the-bundle
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
883 applying clone bundle from http://localhost:$HGPORT1/split-test.hg
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
884 adding changesets
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
885 adding manifests
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
886 adding file changes
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
887 added 2 changesets with 10002 changes to 10001 files
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
888 finished applying clone bundle
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
889 searching for changes
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
890 adding changesets
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
891 adding manifests
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
892 adding file changes
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
893 added 1 changesets with 1 changes to 1 files
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
894 new changesets e3879eaa1db7
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
895 2 local changesets published
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
896 updating to branch default
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
897 10001 files updated, 0 files merged, 0 files removed, 0 files unresolved
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
898
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
899 check the results
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
900
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
901 $ cd revlog-split-in-the-bundle
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
902 $ f --size .hg/store/00manifest.*
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
903 .hg/store/00manifest.d: size=499037
50348
f952be90b051 revlog-split: make sure the self._indexfile attribut is reset (issue6811)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50346
diff changeset
904 .hg/store/00manifest.i: size=192
50346
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
905 $ f --size .hg/store/data/_a.*
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
906 .hg/store/data/_a.d: size=588917
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
907 .hg/store/data/_a.i: size=192
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
908
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
909 manifest should work
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
910
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
911 $ hg files -r tip | wc -l
50348
f952be90b051 revlog-split: make sure the self._indexfile attribut is reset (issue6811)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50346
diff changeset
912 \s*10001 (re)
50346
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
913
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
914 file content should work
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
915
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
916 $ hg cat -r tip A | wc -l
50348
f952be90b051 revlog-split: make sure the self._indexfile attribut is reset (issue6811)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 50346
diff changeset
917 \s*100001 (re)
50346
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
918
54f68495ab2a revlog-split: show manifest data loss situation when using clonebundle
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 48693
diff changeset
919