##// END OF EJS Templates
tests: handle getaddrinfo reporting "No address associated with hostname"...
Mads Kiilerich -
r28527:2707cce2 default
parent child Browse files
Show More
@@ -1,434 +1,434 b''
1 Set up a server
1 Set up a server
2
2
3 $ cat >> $HGRCPATH << EOF
3 $ cat >> $HGRCPATH << EOF
4 > [format]
4 > [format]
5 > usegeneraldelta=yes
5 > usegeneraldelta=yes
6 > EOF
6 > EOF
7 $ hg init server
7 $ hg init server
8 $ cd server
8 $ cd server
9 $ cat >> .hg/hgrc << EOF
9 $ cat >> .hg/hgrc << EOF
10 > [extensions]
10 > [extensions]
11 > clonebundles =
11 > clonebundles =
12 > EOF
12 > EOF
13
13
14 $ touch foo
14 $ touch foo
15 $ hg -q commit -A -m 'add foo'
15 $ hg -q commit -A -m 'add foo'
16 $ touch bar
16 $ touch bar
17 $ hg -q commit -A -m 'add bar'
17 $ hg -q commit -A -m 'add bar'
18
18
19 $ hg serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
19 $ hg serve -d -p $HGPORT --pid-file hg.pid --accesslog access.log
20 $ cat hg.pid >> $DAEMON_PIDS
20 $ cat hg.pid >> $DAEMON_PIDS
21 $ cd ..
21 $ cd ..
22
22
23 Missing manifest should not result in server lookup
23 Missing manifest should not result in server lookup
24
24
25 $ hg --verbose clone -U http://localhost:$HGPORT no-manifest
25 $ hg --verbose clone -U http://localhost:$HGPORT no-manifest
26 requesting all changes
26 requesting all changes
27 adding changesets
27 adding changesets
28 adding manifests
28 adding manifests
29 adding file changes
29 adding file changes
30 added 2 changesets with 2 changes to 2 files
30 added 2 changesets with 2 changes to 2 files
31
31
32 $ cat server/access.log
32 $ cat server/access.log
33 * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
33 * - - [*] "GET /?cmd=capabilities HTTP/1.1" 200 - (glob)
34 * - - [*] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D (glob)
34 * - - [*] "GET /?cmd=batch HTTP/1.1" 200 - x-hgarg-1:cmds=heads+%3Bknown+nodes%3D (glob)
35 * - - [*] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=aaff8d2ffbbf07a46dd1f05d8ae7877e3f56e2a2&listkeys=phase%2Cbookmarks (glob)
35 * - - [*] "GET /?cmd=getbundle HTTP/1.1" 200 - x-hgarg-1:bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps&cg=1&common=0000000000000000000000000000000000000000&heads=aaff8d2ffbbf07a46dd1f05d8ae7877e3f56e2a2&listkeys=phase%2Cbookmarks (glob)
36 * - - [*] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases (glob)
36 * - - [*] "GET /?cmd=listkeys HTTP/1.1" 200 - x-hgarg-1:namespace=phases (glob)
37
37
38 Empty manifest file results in retrieval
38 Empty manifest file results in retrieval
39 (the extension only checks if the manifest file exists)
39 (the extension only checks if the manifest file exists)
40
40
41 $ touch server/.hg/clonebundles.manifest
41 $ touch server/.hg/clonebundles.manifest
42 $ hg --verbose clone -U http://localhost:$HGPORT empty-manifest
42 $ hg --verbose clone -U http://localhost:$HGPORT empty-manifest
43 no clone bundles available on remote; falling back to regular clone
43 no clone bundles available on remote; falling back to regular clone
44 requesting all changes
44 requesting all changes
45 adding changesets
45 adding changesets
46 adding manifests
46 adding manifests
47 adding file changes
47 adding file changes
48 added 2 changesets with 2 changes to 2 files
48 added 2 changesets with 2 changes to 2 files
49
49
50 Manifest file with invalid URL aborts
50 Manifest file with invalid URL aborts
51
51
52 $ echo 'http://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest
52 $ echo 'http://does.not.exist/bundle.hg' > server/.hg/clonebundles.manifest
53 $ hg clone http://localhost:$HGPORT 404-url
53 $ hg clone http://localhost:$HGPORT 404-url
54 applying clone bundle from http://does.not.exist/bundle.hg
54 applying clone bundle from http://does.not.exist/bundle.hg
55 error fetching bundle: (.* not known|getaddrinfo failed) (re)
55 error fetching bundle: (.* not known|getaddrinfo failed|No address associated with hostname) (re)
56 abort: error applying bundle
56 abort: error applying bundle
57 (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
57 (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
58 [255]
58 [255]
59
59
60 Server is not running aborts
60 Server is not running aborts
61
61
62 $ echo "http://localhost:$HGPORT1/bundle.hg" > server/.hg/clonebundles.manifest
62 $ echo "http://localhost:$HGPORT1/bundle.hg" > server/.hg/clonebundles.manifest
63 $ hg clone http://localhost:$HGPORT server-not-runner
63 $ hg clone http://localhost:$HGPORT server-not-runner
64 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
64 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
65 error fetching bundle: * refused* (glob)
65 error fetching bundle: * refused* (glob)
66 abort: error applying bundle
66 abort: error applying bundle
67 (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
67 (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
68 [255]
68 [255]
69
69
70 Server returns 404
70 Server returns 404
71
71
72 $ python $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
72 $ python $TESTDIR/dumbhttp.py -p $HGPORT1 --pid http.pid
73 $ cat http.pid >> $DAEMON_PIDS
73 $ cat http.pid >> $DAEMON_PIDS
74 $ hg clone http://localhost:$HGPORT running-404
74 $ hg clone http://localhost:$HGPORT running-404
75 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
75 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
76 HTTP error fetching bundle: HTTP Error 404: File not found
76 HTTP error fetching bundle: HTTP Error 404: File not found
77 abort: error applying bundle
77 abort: error applying bundle
78 (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
78 (if this error persists, consider contacting the server operator or disable clone bundles via "--config ui.clonebundles=false")
79 [255]
79 [255]
80
80
81 We can override failure to fall back to regular clone
81 We can override failure to fall back to regular clone
82
82
83 $ hg --config ui.clonebundlefallback=true clone -U http://localhost:$HGPORT 404-fallback
83 $ hg --config ui.clonebundlefallback=true clone -U http://localhost:$HGPORT 404-fallback
84 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
84 applying clone bundle from http://localhost:$HGPORT1/bundle.hg
85 HTTP error fetching bundle: HTTP Error 404: File not found
85 HTTP error fetching bundle: HTTP Error 404: File not found
86 falling back to normal clone
86 falling back to normal clone
87 requesting all changes
87 requesting all changes
88 adding changesets
88 adding changesets
89 adding manifests
89 adding manifests
90 adding file changes
90 adding file changes
91 added 2 changesets with 2 changes to 2 files
91 added 2 changesets with 2 changes to 2 files
92
92
93 Bundle with partial content works
93 Bundle with partial content works
94
94
95 $ hg -R server bundle --type gzip-v1 --base null -r 53245c60e682 partial.hg
95 $ hg -R server bundle --type gzip-v1 --base null -r 53245c60e682 partial.hg
96 1 changesets found
96 1 changesets found
97
97
98 We verify exact bundle content as an extra check against accidental future
98 We verify exact bundle content as an extra check against accidental future
99 changes. If this output changes, we could break old clients.
99 changes. If this output changes, we could break old clients.
100
100
101 $ f --size --hexdump partial.hg
101 $ f --size --hexdump partial.hg
102 partial.hg: size=207
102 partial.hg: size=207
103 0000: 48 47 31 30 47 5a 78 9c 63 60 60 98 17 ac 12 93 |HG10GZx.c``.....|
103 0000: 48 47 31 30 47 5a 78 9c 63 60 60 98 17 ac 12 93 |HG10GZx.c``.....|
104 0010: f0 ac a9 23 45 70 cb bf 0d 5f 59 4e 4a 7f 79 21 |...#Ep..._YNJ.y!|
104 0010: f0 ac a9 23 45 70 cb bf 0d 5f 59 4e 4a 7f 79 21 |...#Ep..._YNJ.y!|
105 0020: 9b cc 40 24 20 a0 d7 ce 2c d1 38 25 cd 24 25 d5 |..@$ ...,.8%.$%.|
105 0020: 9b cc 40 24 20 a0 d7 ce 2c d1 38 25 cd 24 25 d5 |..@$ ...,.8%.$%.|
106 0030: d8 c2 22 cd 38 d9 24 cd 22 d5 c8 22 cd 24 cd 32 |..".8.$."..".$.2|
106 0030: d8 c2 22 cd 38 d9 24 cd 22 d5 c8 22 cd 24 cd 32 |..".8.$."..".$.2|
107 0040: d1 c2 d0 c4 c8 d2 32 d1 38 39 29 c9 34 cd d4 80 |......2.89).4...|
107 0040: d1 c2 d0 c4 c8 d2 32 d1 38 39 29 c9 34 cd d4 80 |......2.89).4...|
108 0050: ab 24 b5 b8 84 cb 40 c1 80 2b 2d 3f 9f 8b 2b 31 |.$....@..+-?..+1|
108 0050: ab 24 b5 b8 84 cb 40 c1 80 2b 2d 3f 9f 8b 2b 31 |.$....@..+-?..+1|
109 0060: 25 45 01 c8 80 9a d2 9b 65 fb e5 9e 45 bf 8d 7f |%E......e...E...|
109 0060: 25 45 01 c8 80 9a d2 9b 65 fb e5 9e 45 bf 8d 7f |%E......e...E...|
110 0070: 9f c6 97 9f 2b 44 34 67 d9 ec 8e 0f a0 92 0b 75 |....+D4g.......u|
110 0070: 9f c6 97 9f 2b 44 34 67 d9 ec 8e 0f a0 92 0b 75 |....+D4g.......u|
111 0080: 41 d6 24 59 18 a4 a4 9a a6 18 1a 5b 98 9b 5a 98 |A.$Y.......[..Z.|
111 0080: 41 d6 24 59 18 a4 a4 9a a6 18 1a 5b 98 9b 5a 98 |A.$Y.......[..Z.|
112 0090: 9a 18 26 9b a6 19 98 1a 99 99 26 a6 18 9a 98 24 |..&.......&....$|
112 0090: 9a 18 26 9b a6 19 98 1a 99 99 26 a6 18 9a 98 24 |..&.......&....$|
113 00a0: 26 59 a6 25 5a 98 a5 18 a6 24 71 41 35 b1 43 dc |&Y.%Z....$qA5.C.|
113 00a0: 26 59 a6 25 5a 98 a5 18 a6 24 71 41 35 b1 43 dc |&Y.%Z....$qA5.C.|
114 00b0: 16 b2 83 f7 e9 45 8b d2 56 c7 a3 1f 82 52 d7 8a |.....E..V....R..|
114 00b0: 16 b2 83 f7 e9 45 8b d2 56 c7 a3 1f 82 52 d7 8a |.....E..V....R..|
115 00c0: 78 ed fc d5 76 f1 36 35 dc 05 00 36 ed 5e c7 |x...v.65...6.^.|
115 00c0: 78 ed fc d5 76 f1 36 35 dc 05 00 36 ed 5e c7 |x...v.65...6.^.|
116
116
117 $ echo "http://localhost:$HGPORT1/partial.hg" > server/.hg/clonebundles.manifest
117 $ echo "http://localhost:$HGPORT1/partial.hg" > server/.hg/clonebundles.manifest
118 $ hg clone -U http://localhost:$HGPORT partial-bundle
118 $ hg clone -U http://localhost:$HGPORT partial-bundle
119 applying clone bundle from http://localhost:$HGPORT1/partial.hg
119 applying clone bundle from http://localhost:$HGPORT1/partial.hg
120 adding changesets
120 adding changesets
121 adding manifests
121 adding manifests
122 adding file changes
122 adding file changes
123 added 1 changesets with 1 changes to 1 files
123 added 1 changesets with 1 changes to 1 files
124 finished applying clone bundle
124 finished applying clone bundle
125 searching for changes
125 searching for changes
126 adding changesets
126 adding changesets
127 adding manifests
127 adding manifests
128 adding file changes
128 adding file changes
129 added 1 changesets with 1 changes to 1 files
129 added 1 changesets with 1 changes to 1 files
130
130
131 Incremental pull doesn't fetch bundle
131 Incremental pull doesn't fetch bundle
132
132
133 $ hg clone -r 53245c60e682 -U http://localhost:$HGPORT partial-clone
133 $ hg clone -r 53245c60e682 -U http://localhost:$HGPORT partial-clone
134 adding changesets
134 adding changesets
135 adding manifests
135 adding manifests
136 adding file changes
136 adding file changes
137 added 1 changesets with 1 changes to 1 files
137 added 1 changesets with 1 changes to 1 files
138
138
139 $ cd partial-clone
139 $ cd partial-clone
140 $ hg pull
140 $ hg pull
141 pulling from http://localhost:$HGPORT/
141 pulling from http://localhost:$HGPORT/
142 searching for changes
142 searching for changes
143 adding changesets
143 adding changesets
144 adding manifests
144 adding manifests
145 adding file changes
145 adding file changes
146 added 1 changesets with 1 changes to 1 files
146 added 1 changesets with 1 changes to 1 files
147 (run 'hg update' to get a working copy)
147 (run 'hg update' to get a working copy)
148 $ cd ..
148 $ cd ..
149
149
150 Bundle with full content works
150 Bundle with full content works
151
151
152 $ hg -R server bundle --type gzip-v2 --base null -r tip full.hg
152 $ hg -R server bundle --type gzip-v2 --base null -r tip full.hg
153 2 changesets found
153 2 changesets found
154
154
155 Again, we perform an extra check against bundle content changes. If this content
155 Again, we perform an extra check against bundle content changes. If this content
156 changes, clone bundles produced by new Mercurial versions may not be readable
156 changes, clone bundles produced by new Mercurial versions may not be readable
157 by old clients.
157 by old clients.
158
158
159 $ f --size --hexdump full.hg
159 $ f --size --hexdump full.hg
160 full.hg: size=406
160 full.hg: size=406
161 0000: 48 47 32 30 00 00 00 0e 43 6f 6d 70 72 65 73 73 |HG20....Compress|
161 0000: 48 47 32 30 00 00 00 0e 43 6f 6d 70 72 65 73 73 |HG20....Compress|
162 0010: 69 6f 6e 3d 47 5a 78 9c 63 60 60 90 e5 76 f6 70 |ion=GZx.c``..v.p|
162 0010: 69 6f 6e 3d 47 5a 78 9c 63 60 60 90 e5 76 f6 70 |ion=GZx.c``..v.p|
163 0020: f4 73 77 75 0f f2 0f 0d 60 00 02 46 06 76 a6 b2 |.swu....`..F.v..|
163 0020: f4 73 77 75 0f f2 0f 0d 60 00 02 46 06 76 a6 b2 |.swu....`..F.v..|
164 0030: d4 a2 e2 cc fc 3c 03 23 06 06 e6 65 40 b1 4d c1 |.....<.#...e@.M.|
164 0030: d4 a2 e2 cc fc 3c 03 23 06 06 e6 65 40 b1 4d c1 |.....<.#...e@.M.|
165 0040: 2a 31 09 cf 9a 3a 52 04 b7 fc db f0 95 e5 a4 f4 |*1...:R.........|
165 0040: 2a 31 09 cf 9a 3a 52 04 b7 fc db f0 95 e5 a4 f4 |*1...:R.........|
166 0050: 97 17 b2 c9 0c 14 00 02 e6 d9 99 25 1a a7 a4 99 |...........%....|
166 0050: 97 17 b2 c9 0c 14 00 02 e6 d9 99 25 1a a7 a4 99 |...........%....|
167 0060: a4 a4 1a 5b 58 a4 19 27 9b a4 59 a4 1a 59 a4 99 |...[X..'..Y..Y..|
167 0060: a4 a4 1a 5b 58 a4 19 27 9b a4 59 a4 1a 59 a4 99 |...[X..'..Y..Y..|
168 0070: a4 59 26 5a 18 9a 18 59 5a 26 1a 27 27 25 99 a6 |.Y&Z...YZ&.''%..|
168 0070: a4 59 26 5a 18 9a 18 59 5a 26 1a 27 27 25 99 a6 |.Y&Z...YZ&.''%..|
169 0080: 99 1a 70 95 a4 16 97 70 19 28 18 70 a5 e5 e7 73 |..p....p.(.p...s|
169 0080: 99 1a 70 95 a4 16 97 70 19 28 18 70 a5 e5 e7 73 |..p....p.(.p...s|
170 0090: 71 25 a6 a4 28 00 19 40 13 0e ac fa df ab ff 7b |q%..(..@.......{|
170 0090: 71 25 a6 a4 28 00 19 40 13 0e ac fa df ab ff 7b |q%..(..@.......{|
171 00a0: 3f fb 92 dc 8b 1f 62 bb 9e b7 d7 d9 87 3d 5a 44 |?.....b......=ZD|
171 00a0: 3f fb 92 dc 8b 1f 62 bb 9e b7 d7 d9 87 3d 5a 44 |?.....b......=ZD|
172 00b0: ac 2f b0 a9 c3 66 1e 54 b9 26 08 a7 1a 1b 1a a7 |./...f.T.&......|
172 00b0: ac 2f b0 a9 c3 66 1e 54 b9 26 08 a7 1a 1b 1a a7 |./...f.T.&......|
173 00c0: 25 1b 9a 1b 99 19 9a 5a 18 9b a6 18 19 00 dd 67 |%......Z.......g|
173 00c0: 25 1b 9a 1b 99 19 9a 5a 18 9b a6 18 19 00 dd 67 |%......Z.......g|
174 00d0: 61 61 98 06 f4 80 49 4a 8a 65 52 92 41 9a 81 81 |aa....IJ.eR.A...|
174 00d0: 61 61 98 06 f4 80 49 4a 8a 65 52 92 41 9a 81 81 |aa....IJ.eR.A...|
175 00e0: a5 11 17 50 31 30 58 19 cc 80 98 25 29 b1 08 c4 |...P10X....%)...|
175 00e0: a5 11 17 50 31 30 58 19 cc 80 98 25 29 b1 08 c4 |...P10X....%)...|
176 00f0: 37 07 79 19 88 d9 41 ee 07 8a 41 cd 5d 98 65 fb |7.y...A...A.].e.|
176 00f0: 37 07 79 19 88 d9 41 ee 07 8a 41 cd 5d 98 65 fb |7.y...A...A.].e.|
177 0100: e5 9e 45 bf 8d 7f 9f c6 97 9f 2b 44 34 67 d9 ec |..E.......+D4g..|
177 0100: e5 9e 45 bf 8d 7f 9f c6 97 9f 2b 44 34 67 d9 ec |..E.......+D4g..|
178 0110: 8e 0f a0 61 a8 eb 82 82 2e c9 c2 20 25 d5 34 c5 |...a....... %.4.|
178 0110: 8e 0f a0 61 a8 eb 82 82 2e c9 c2 20 25 d5 34 c5 |...a....... %.4.|
179 0120: d0 d8 c2 dc d4 c2 d4 c4 30 d9 34 cd c0 d4 c8 cc |........0.4.....|
179 0120: d0 d8 c2 dc d4 c2 d4 c4 30 d9 34 cd c0 d4 c8 cc |........0.4.....|
180 0130: 34 31 c5 d0 c4 24 31 c9 32 2d d1 c2 2c c5 30 25 |41...$1.2-..,.0%|
180 0130: 34 31 c5 d0 c4 24 31 c9 32 2d d1 c2 2c c5 30 25 |41...$1.2-..,.0%|
181 0140: 09 e4 ee 85 8f 85 ff 88 ab 89 36 c7 2a c4 47 34 |..........6.*.G4|
181 0140: 09 e4 ee 85 8f 85 ff 88 ab 89 36 c7 2a c4 47 34 |..........6.*.G4|
182 0150: fe f8 ec 7b 73 37 3f c3 24 62 1d 8d 4d 1d 9e 40 |...{s7?.$b..M..@|
182 0150: fe f8 ec 7b 73 37 3f c3 24 62 1d 8d 4d 1d 9e 40 |...{s7?.$b..M..@|
183 0160: 06 3b 10 14 36 a4 38 10 04 d8 21 01 9a b1 83 f7 |.;..6.8...!.....|
183 0160: 06 3b 10 14 36 a4 38 10 04 d8 21 01 9a b1 83 f7 |.;..6.8...!.....|
184 0170: e9 45 8b d2 56 c7 a3 1f 82 52 d7 8a 78 ed fc d5 |.E..V....R..x...|
184 0170: e9 45 8b d2 56 c7 a3 1f 82 52 d7 8a 78 ed fc d5 |.E..V....R..x...|
185 0180: 76 f1 36 25 81 89 c7 ad ec 90 34 48 75 2b 89 49 |v.6%......4Hu+.I|
185 0180: 76 f1 36 25 81 89 c7 ad ec 90 34 48 75 2b 89 49 |v.6%......4Hu+.I|
186 0190: bf 00 d6 97 f0 8d |......|
186 0190: bf 00 d6 97 f0 8d |......|
187
187
188 $ echo "http://localhost:$HGPORT1/full.hg" > server/.hg/clonebundles.manifest
188 $ echo "http://localhost:$HGPORT1/full.hg" > server/.hg/clonebundles.manifest
189 $ hg clone -U http://localhost:$HGPORT full-bundle
189 $ hg clone -U http://localhost:$HGPORT full-bundle
190 applying clone bundle from http://localhost:$HGPORT1/full.hg
190 applying clone bundle from http://localhost:$HGPORT1/full.hg
191 adding changesets
191 adding changesets
192 adding manifests
192 adding manifests
193 adding file changes
193 adding file changes
194 added 2 changesets with 2 changes to 2 files
194 added 2 changesets with 2 changes to 2 files
195 finished applying clone bundle
195 finished applying clone bundle
196 searching for changes
196 searching for changes
197 no changes found
197 no changes found
198
198
199 Feature works over SSH
199 Feature works over SSH
200
200
201 $ hg clone -U -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/server ssh-full-clone
201 $ hg clone -U -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/server ssh-full-clone
202 applying clone bundle from http://localhost:$HGPORT1/full.hg
202 applying clone bundle from http://localhost:$HGPORT1/full.hg
203 adding changesets
203 adding changesets
204 adding manifests
204 adding manifests
205 adding file changes
205 adding file changes
206 added 2 changesets with 2 changes to 2 files
206 added 2 changesets with 2 changes to 2 files
207 finished applying clone bundle
207 finished applying clone bundle
208 searching for changes
208 searching for changes
209 no changes found
209 no changes found
210
210
211 Entry with unknown BUNDLESPEC is filtered and not used
211 Entry with unknown BUNDLESPEC is filtered and not used
212
212
213 $ cat > server/.hg/clonebundles.manifest << EOF
213 $ cat > server/.hg/clonebundles.manifest << EOF
214 > http://bad.entry1 BUNDLESPEC=UNKNOWN
214 > http://bad.entry1 BUNDLESPEC=UNKNOWN
215 > http://bad.entry2 BUNDLESPEC=xz-v1
215 > http://bad.entry2 BUNDLESPEC=xz-v1
216 > http://bad.entry3 BUNDLESPEC=none-v100
216 > http://bad.entry3 BUNDLESPEC=none-v100
217 > http://localhost:$HGPORT1/full.hg BUNDLESPEC=gzip-v2
217 > http://localhost:$HGPORT1/full.hg BUNDLESPEC=gzip-v2
218 > EOF
218 > EOF
219
219
220 $ hg clone -U http://localhost:$HGPORT filter-unknown-type
220 $ hg clone -U http://localhost:$HGPORT filter-unknown-type
221 applying clone bundle from http://localhost:$HGPORT1/full.hg
221 applying clone bundle from http://localhost:$HGPORT1/full.hg
222 adding changesets
222 adding changesets
223 adding manifests
223 adding manifests
224 adding file changes
224 adding file changes
225 added 2 changesets with 2 changes to 2 files
225 added 2 changesets with 2 changes to 2 files
226 finished applying clone bundle
226 finished applying clone bundle
227 searching for changes
227 searching for changes
228 no changes found
228 no changes found
229
229
230 Automatic fallback when all entries are filtered
230 Automatic fallback when all entries are filtered
231
231
232 $ cat > server/.hg/clonebundles.manifest << EOF
232 $ cat > server/.hg/clonebundles.manifest << EOF
233 > http://bad.entry BUNDLESPEC=UNKNOWN
233 > http://bad.entry BUNDLESPEC=UNKNOWN
234 > EOF
234 > EOF
235
235
236 $ hg clone -U http://localhost:$HGPORT filter-all
236 $ hg clone -U http://localhost:$HGPORT filter-all
237 no compatible clone bundles available on server; falling back to regular clone
237 no compatible clone bundles available on server; falling back to regular clone
238 (you may want to report this to the server operator)
238 (you may want to report this to the server operator)
239 requesting all changes
239 requesting all changes
240 adding changesets
240 adding changesets
241 adding manifests
241 adding manifests
242 adding file changes
242 adding file changes
243 added 2 changesets with 2 changes to 2 files
243 added 2 changesets with 2 changes to 2 files
244
244
245 URLs requiring SNI are filtered in Python <2.7.9
245 URLs requiring SNI are filtered in Python <2.7.9
246
246
247 $ cp full.hg sni.hg
247 $ cp full.hg sni.hg
248 $ cat > server/.hg/clonebundles.manifest << EOF
248 $ cat > server/.hg/clonebundles.manifest << EOF
249 > http://localhost:$HGPORT1/sni.hg REQUIRESNI=true
249 > http://localhost:$HGPORT1/sni.hg REQUIRESNI=true
250 > http://localhost:$HGPORT1/full.hg
250 > http://localhost:$HGPORT1/full.hg
251 > EOF
251 > EOF
252
252
253 #if sslcontext
253 #if sslcontext
254 Python 2.7.9+ support SNI
254 Python 2.7.9+ support SNI
255
255
256 $ hg clone -U http://localhost:$HGPORT sni-supported
256 $ hg clone -U http://localhost:$HGPORT sni-supported
257 applying clone bundle from http://localhost:$HGPORT1/sni.hg
257 applying clone bundle from http://localhost:$HGPORT1/sni.hg
258 adding changesets
258 adding changesets
259 adding manifests
259 adding manifests
260 adding file changes
260 adding file changes
261 added 2 changesets with 2 changes to 2 files
261 added 2 changesets with 2 changes to 2 files
262 finished applying clone bundle
262 finished applying clone bundle
263 searching for changes
263 searching for changes
264 no changes found
264 no changes found
265 #else
265 #else
266 Python <2.7.9 will filter SNI URLs
266 Python <2.7.9 will filter SNI URLs
267
267
268 $ hg clone -U http://localhost:$HGPORT sni-unsupported
268 $ hg clone -U http://localhost:$HGPORT sni-unsupported
269 applying clone bundle from http://localhost:$HGPORT1/full.hg
269 applying clone bundle from http://localhost:$HGPORT1/full.hg
270 adding changesets
270 adding changesets
271 adding manifests
271 adding manifests
272 adding file changes
272 adding file changes
273 added 2 changesets with 2 changes to 2 files
273 added 2 changesets with 2 changes to 2 files
274 finished applying clone bundle
274 finished applying clone bundle
275 searching for changes
275 searching for changes
276 no changes found
276 no changes found
277 #endif
277 #endif
278
278
279 Stream clone bundles are supported
279 Stream clone bundles are supported
280
280
281 $ hg -R server debugcreatestreamclonebundle packed.hg
281 $ hg -R server debugcreatestreamclonebundle packed.hg
282 writing 613 bytes for 4 files
282 writing 613 bytes for 4 files
283 bundle requirements: generaldelta, revlogv1
283 bundle requirements: generaldelta, revlogv1
284
284
285 No bundle spec should work
285 No bundle spec should work
286
286
287 $ cat > server/.hg/clonebundles.manifest << EOF
287 $ cat > server/.hg/clonebundles.manifest << EOF
288 > http://localhost:$HGPORT1/packed.hg
288 > http://localhost:$HGPORT1/packed.hg
289 > EOF
289 > EOF
290
290
291 $ hg clone -U http://localhost:$HGPORT stream-clone-no-spec
291 $ hg clone -U http://localhost:$HGPORT stream-clone-no-spec
292 applying clone bundle from http://localhost:$HGPORT1/packed.hg
292 applying clone bundle from http://localhost:$HGPORT1/packed.hg
293 4 files to transfer, 613 bytes of data
293 4 files to transfer, 613 bytes of data
294 transferred 613 bytes in *.* seconds (*) (glob)
294 transferred 613 bytes in *.* seconds (*) (glob)
295 finished applying clone bundle
295 finished applying clone bundle
296 searching for changes
296 searching for changes
297 no changes found
297 no changes found
298
298
299 Bundle spec without parameters should work
299 Bundle spec without parameters should work
300
300
301 $ cat > server/.hg/clonebundles.manifest << EOF
301 $ cat > server/.hg/clonebundles.manifest << EOF
302 > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1
302 > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1
303 > EOF
303 > EOF
304
304
305 $ hg clone -U http://localhost:$HGPORT stream-clone-vanilla-spec
305 $ hg clone -U http://localhost:$HGPORT stream-clone-vanilla-spec
306 applying clone bundle from http://localhost:$HGPORT1/packed.hg
306 applying clone bundle from http://localhost:$HGPORT1/packed.hg
307 4 files to transfer, 613 bytes of data
307 4 files to transfer, 613 bytes of data
308 transferred 613 bytes in *.* seconds (*) (glob)
308 transferred 613 bytes in *.* seconds (*) (glob)
309 finished applying clone bundle
309 finished applying clone bundle
310 searching for changes
310 searching for changes
311 no changes found
311 no changes found
312
312
313 Bundle spec with format requirements should work
313 Bundle spec with format requirements should work
314
314
315 $ cat > server/.hg/clonebundles.manifest << EOF
315 $ cat > server/.hg/clonebundles.manifest << EOF
316 > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv1
316 > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv1
317 > EOF
317 > EOF
318
318
319 $ hg clone -U http://localhost:$HGPORT stream-clone-supported-requirements
319 $ hg clone -U http://localhost:$HGPORT stream-clone-supported-requirements
320 applying clone bundle from http://localhost:$HGPORT1/packed.hg
320 applying clone bundle from http://localhost:$HGPORT1/packed.hg
321 4 files to transfer, 613 bytes of data
321 4 files to transfer, 613 bytes of data
322 transferred 613 bytes in *.* seconds (*) (glob)
322 transferred 613 bytes in *.* seconds (*) (glob)
323 finished applying clone bundle
323 finished applying clone bundle
324 searching for changes
324 searching for changes
325 no changes found
325 no changes found
326
326
327 Stream bundle spec with unknown requirements should be filtered out
327 Stream bundle spec with unknown requirements should be filtered out
328
328
329 $ cat > server/.hg/clonebundles.manifest << EOF
329 $ cat > server/.hg/clonebundles.manifest << EOF
330 > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv42
330 > http://localhost:$HGPORT1/packed.hg BUNDLESPEC=none-packed1;requirements%3Drevlogv42
331 > EOF
331 > EOF
332
332
333 $ hg clone -U http://localhost:$HGPORT stream-clone-unsupported-requirements
333 $ hg clone -U http://localhost:$HGPORT stream-clone-unsupported-requirements
334 no compatible clone bundles available on server; falling back to regular clone
334 no compatible clone bundles available on server; falling back to regular clone
335 (you may want to report this to the server operator)
335 (you may want to report this to the server operator)
336 requesting all changes
336 requesting all changes
337 adding changesets
337 adding changesets
338 adding manifests
338 adding manifests
339 adding file changes
339 adding file changes
340 added 2 changesets with 2 changes to 2 files
340 added 2 changesets with 2 changes to 2 files
341
341
342 Set up manifest for testing preferences
342 Set up manifest for testing preferences
343 (Remember, the TYPE does not have to match reality - the URL is
343 (Remember, the TYPE does not have to match reality - the URL is
344 important)
344 important)
345
345
346 $ cp full.hg gz-a.hg
346 $ cp full.hg gz-a.hg
347 $ cp full.hg gz-b.hg
347 $ cp full.hg gz-b.hg
348 $ cp full.hg bz2-a.hg
348 $ cp full.hg bz2-a.hg
349 $ cp full.hg bz2-b.hg
349 $ cp full.hg bz2-b.hg
350 $ cat > server/.hg/clonebundles.manifest << EOF
350 $ cat > server/.hg/clonebundles.manifest << EOF
351 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 extra=a
351 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2 extra=a
352 > http://localhost:$HGPORT1/bz2-a.hg BUNDLESPEC=bzip2-v2 extra=a
352 > http://localhost:$HGPORT1/bz2-a.hg BUNDLESPEC=bzip2-v2 extra=a
353 > http://localhost:$HGPORT1/gz-b.hg BUNDLESPEC=gzip-v2 extra=b
353 > http://localhost:$HGPORT1/gz-b.hg BUNDLESPEC=gzip-v2 extra=b
354 > http://localhost:$HGPORT1/bz2-b.hg BUNDLESPEC=bzip2-v2 extra=b
354 > http://localhost:$HGPORT1/bz2-b.hg BUNDLESPEC=bzip2-v2 extra=b
355 > EOF
355 > EOF
356
356
357 Preferring an undefined attribute will take first entry
357 Preferring an undefined attribute will take first entry
358
358
359 $ hg --config ui.clonebundleprefers=foo=bar clone -U http://localhost:$HGPORT prefer-foo
359 $ hg --config ui.clonebundleprefers=foo=bar clone -U http://localhost:$HGPORT prefer-foo
360 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
360 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
361 adding changesets
361 adding changesets
362 adding manifests
362 adding manifests
363 adding file changes
363 adding file changes
364 added 2 changesets with 2 changes to 2 files
364 added 2 changesets with 2 changes to 2 files
365 finished applying clone bundle
365 finished applying clone bundle
366 searching for changes
366 searching for changes
367 no changes found
367 no changes found
368
368
369 Preferring bz2 type will download first entry of that type
369 Preferring bz2 type will download first entry of that type
370
370
371 $ hg --config ui.clonebundleprefers=COMPRESSION=bzip2 clone -U http://localhost:$HGPORT prefer-bz
371 $ hg --config ui.clonebundleprefers=COMPRESSION=bzip2 clone -U http://localhost:$HGPORT prefer-bz
372 applying clone bundle from http://localhost:$HGPORT1/bz2-a.hg
372 applying clone bundle from http://localhost:$HGPORT1/bz2-a.hg
373 adding changesets
373 adding changesets
374 adding manifests
374 adding manifests
375 adding file changes
375 adding file changes
376 added 2 changesets with 2 changes to 2 files
376 added 2 changesets with 2 changes to 2 files
377 finished applying clone bundle
377 finished applying clone bundle
378 searching for changes
378 searching for changes
379 no changes found
379 no changes found
380
380
381 Preferring multiple values of an option works
381 Preferring multiple values of an option works
382
382
383 $ hg --config ui.clonebundleprefers=COMPRESSION=unknown,COMPRESSION=bzip2 clone -U http://localhost:$HGPORT prefer-multiple-bz
383 $ hg --config ui.clonebundleprefers=COMPRESSION=unknown,COMPRESSION=bzip2 clone -U http://localhost:$HGPORT prefer-multiple-bz
384 applying clone bundle from http://localhost:$HGPORT1/bz2-a.hg
384 applying clone bundle from http://localhost:$HGPORT1/bz2-a.hg
385 adding changesets
385 adding changesets
386 adding manifests
386 adding manifests
387 adding file changes
387 adding file changes
388 added 2 changesets with 2 changes to 2 files
388 added 2 changesets with 2 changes to 2 files
389 finished applying clone bundle
389 finished applying clone bundle
390 searching for changes
390 searching for changes
391 no changes found
391 no changes found
392
392
393 Sorting multiple values should get us back to original first entry
393 Sorting multiple values should get us back to original first entry
394
394
395 $ hg --config ui.clonebundleprefers=BUNDLESPEC=unknown,BUNDLESPEC=gzip-v2,BUNDLESPEC=bzip2-v2 clone -U http://localhost:$HGPORT prefer-multiple-gz
395 $ hg --config ui.clonebundleprefers=BUNDLESPEC=unknown,BUNDLESPEC=gzip-v2,BUNDLESPEC=bzip2-v2 clone -U http://localhost:$HGPORT prefer-multiple-gz
396 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
396 applying clone bundle from http://localhost:$HGPORT1/gz-a.hg
397 adding changesets
397 adding changesets
398 adding manifests
398 adding manifests
399 adding file changes
399 adding file changes
400 added 2 changesets with 2 changes to 2 files
400 added 2 changesets with 2 changes to 2 files
401 finished applying clone bundle
401 finished applying clone bundle
402 searching for changes
402 searching for changes
403 no changes found
403 no changes found
404
404
405 Preferring multiple attributes has correct order
405 Preferring multiple attributes has correct order
406
406
407 $ hg --config ui.clonebundleprefers=extra=b,BUNDLESPEC=bzip2-v2 clone -U http://localhost:$HGPORT prefer-separate-attributes
407 $ hg --config ui.clonebundleprefers=extra=b,BUNDLESPEC=bzip2-v2 clone -U http://localhost:$HGPORT prefer-separate-attributes
408 applying clone bundle from http://localhost:$HGPORT1/bz2-b.hg
408 applying clone bundle from http://localhost:$HGPORT1/bz2-b.hg
409 adding changesets
409 adding changesets
410 adding manifests
410 adding manifests
411 adding file changes
411 adding file changes
412 added 2 changesets with 2 changes to 2 files
412 added 2 changesets with 2 changes to 2 files
413 finished applying clone bundle
413 finished applying clone bundle
414 searching for changes
414 searching for changes
415 no changes found
415 no changes found
416
416
417 Test where attribute is missing from some entries
417 Test where attribute is missing from some entries
418
418
419 $ cat > server/.hg/clonebundles.manifest << EOF
419 $ cat > server/.hg/clonebundles.manifest << EOF
420 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
420 > http://localhost:$HGPORT1/gz-a.hg BUNDLESPEC=gzip-v2
421 > http://localhost:$HGPORT1/bz2-a.hg BUNDLESPEC=bzip2-v2
421 > http://localhost:$HGPORT1/bz2-a.hg BUNDLESPEC=bzip2-v2
422 > http://localhost:$HGPORT1/gz-b.hg BUNDLESPEC=gzip-v2 extra=b
422 > http://localhost:$HGPORT1/gz-b.hg BUNDLESPEC=gzip-v2 extra=b
423 > http://localhost:$HGPORT1/bz2-b.hg BUNDLESPEC=bzip2-v2 extra=b
423 > http://localhost:$HGPORT1/bz2-b.hg BUNDLESPEC=bzip2-v2 extra=b
424 > EOF
424 > EOF
425
425
426 $ hg --config ui.clonebundleprefers=extra=b clone -U http://localhost:$HGPORT prefer-partially-defined-attribute
426 $ hg --config ui.clonebundleprefers=extra=b clone -U http://localhost:$HGPORT prefer-partially-defined-attribute
427 applying clone bundle from http://localhost:$HGPORT1/gz-b.hg
427 applying clone bundle from http://localhost:$HGPORT1/gz-b.hg
428 adding changesets
428 adding changesets
429 adding manifests
429 adding manifests
430 adding file changes
430 adding file changes
431 added 2 changesets with 2 changes to 2 files
431 added 2 changesets with 2 changes to 2 files
432 finished applying clone bundle
432 finished applying clone bundle
433 searching for changes
433 searching for changes
434 no changes found
434 no changes found
General Comments 0
You need to be logged in to leave comments. Login now