Show More
@@ -1,291 +1,298 b'' | |||||
|
1 | TRANSITIONAL CONFIG | |||
|
2 | $ cat << EOF >> $HGRCPATH | |||
|
3 | > [format] | |||
|
4 | > sparse-revlog = yes | |||
|
5 | > EOF | |||
|
6 | ||||
1 |
$ |
|
7 | $ . "$TESTDIR/narrow-library.sh" | |
2 |
|
8 | |||
3 |
$ |
|
9 | $ hg init master | |
4 | $ cd master |
|
10 | $ cd master | |
5 | $ cat >> .hg/hgrc <<EOF |
|
11 | $ cat >> .hg/hgrc <<EOF | |
6 | > [narrow] |
|
12 | > [narrow] | |
7 | > serveellipses=True |
|
13 | > serveellipses=True | |
8 | > EOF |
|
14 | > EOF | |
9 | $ mkdir dir |
|
15 | $ mkdir dir | |
10 | $ mkdir dir/src |
|
16 | $ mkdir dir/src | |
11 | $ cd dir/src |
|
17 | $ cd dir/src | |
12 | $ for x in `$TESTDIR/seq.py 20`; do echo $x > "f$x"; hg add "f$x"; hg commit -m "Commit src $x"; done |
|
18 | $ for x in `$TESTDIR/seq.py 20`; do echo $x > "f$x"; hg add "f$x"; hg commit -m "Commit src $x"; done | |
13 | $ cd .. |
|
19 | $ cd .. | |
14 | $ mkdir tests |
|
20 | $ mkdir tests | |
15 | $ cd tests |
|
21 | $ cd tests | |
16 | $ for x in `$TESTDIR/seq.py 20`; do echo $x > "t$x"; hg add "t$x"; hg commit -m "Commit test $x"; done |
|
22 | $ for x in `$TESTDIR/seq.py 20`; do echo $x > "t$x"; hg add "t$x"; hg commit -m "Commit test $x"; done | |
17 | $ cd ../../.. |
|
23 | $ cd ../../.. | |
18 |
|
24 | |||
19 | Only path: and rootfilesin: pattern prefixes are allowed |
|
25 | Only path: and rootfilesin: pattern prefixes are allowed | |
20 |
|
26 | |||
21 | $ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --include 'glob:**' |
|
27 | $ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --include 'glob:**' | |
22 | abort: invalid prefix on narrow pattern: glob:** |
|
28 | abort: invalid prefix on narrow pattern: glob:** | |
23 | (narrow patterns must begin with one of the following: path:, rootfilesin:) |
|
29 | (narrow patterns must begin with one of the following: path:, rootfilesin:) | |
24 | [255] |
|
30 | [255] | |
25 |
|
31 | |||
26 | $ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --exclude 'set:ignored' |
|
32 | $ hg clone --narrow ssh://user@dummy/master badnarrow --noupdate --exclude 'set:ignored' | |
27 | abort: invalid prefix on narrow pattern: set:ignored |
|
33 | abort: invalid prefix on narrow pattern: set:ignored | |
28 | (narrow patterns must begin with one of the following: path:, rootfilesin:) |
|
34 | (narrow patterns must begin with one of the following: path:, rootfilesin:) | |
29 | [255] |
|
35 | [255] | |
30 |
|
36 | |||
31 | narrow clone a file, f10 |
|
37 | narrow clone a file, f10 | |
32 |
|
38 | |||
33 | $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10" |
|
39 | $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10" | |
34 | requesting all changes |
|
40 | requesting all changes | |
35 | adding changesets |
|
41 | adding changesets | |
36 | adding manifests |
|
42 | adding manifests | |
37 | adding file changes |
|
43 | adding file changes | |
38 | added 3 changesets with 1 changes to 1 files |
|
44 | added 3 changesets with 1 changes to 1 files | |
39 | new changesets *:* (glob) |
|
45 | new changesets *:* (glob) | |
40 | $ cd narrow |
|
46 | $ cd narrow | |
41 | $ cat .hg/requires | grep -v generaldelta |
|
47 | $ cat .hg/requires | grep -v generaldelta | |
42 | dotencode |
|
48 | dotencode | |
43 | fncache |
|
49 | fncache | |
44 | narrowhg-experimental |
|
50 | narrowhg-experimental | |
45 | revlogv1 |
|
51 | revlogv1 | |
|
52 | sparserevlog | |||
46 | store |
|
53 | store | |
47 | testonly-simplestore (reposimplestore !) |
|
54 | testonly-simplestore (reposimplestore !) | |
48 |
|
55 | |||
49 | $ hg tracked |
|
56 | $ hg tracked | |
50 | I path:dir/src/f10 |
|
57 | I path:dir/src/f10 | |
51 | $ hg tracked |
|
58 | $ hg tracked | |
52 | I path:dir/src/f10 |
|
59 | I path:dir/src/f10 | |
53 | $ hg update |
|
60 | $ hg update | |
54 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
61 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
55 | $ find * | sort |
|
62 | $ find * | sort | |
56 | dir |
|
63 | dir | |
57 | dir/src |
|
64 | dir/src | |
58 | dir/src/f10 |
|
65 | dir/src/f10 | |
59 | $ cat dir/src/f10 |
|
66 | $ cat dir/src/f10 | |
60 | 10 |
|
67 | 10 | |
61 |
|
68 | |||
62 | $ cd .. |
|
69 | $ cd .. | |
63 |
|
70 | |||
64 | BUG: local-to-local narrow clones should work, but don't. |
|
71 | BUG: local-to-local narrow clones should work, but don't. | |
65 |
|
72 | |||
66 | $ hg clone --narrow master narrow-via-localpeer --noupdate --include "dir/src/f10" |
|
73 | $ hg clone --narrow master narrow-via-localpeer --noupdate --include "dir/src/f10" | |
67 | requesting all changes |
|
74 | requesting all changes | |
68 | abort: server does not support narrow clones |
|
75 | abort: server does not support narrow clones | |
69 | [255] |
|
76 | [255] | |
70 | $ hg tracked -R narrow-via-localpeer |
|
77 | $ hg tracked -R narrow-via-localpeer | |
71 | abort: repository narrow-via-localpeer not found! |
|
78 | abort: repository narrow-via-localpeer not found! | |
72 | [255] |
|
79 | [255] | |
73 | $ rm -Rf narrow-via-localpeer |
|
80 | $ rm -Rf narrow-via-localpeer | |
74 |
|
81 | |||
75 | narrow clone with a newline should fail |
|
82 | narrow clone with a newline should fail | |
76 |
|
83 | |||
77 | $ hg clone --narrow ssh://user@dummy/master narrow_fail --noupdate --include 'dir/src/f10 |
|
84 | $ hg clone --narrow ssh://user@dummy/master narrow_fail --noupdate --include 'dir/src/f10 | |
78 | > ' |
|
85 | > ' | |
79 | abort: newlines are not allowed in narrowspec paths |
|
86 | abort: newlines are not allowed in narrowspec paths | |
80 | [255] |
|
87 | [255] | |
81 |
|
88 | |||
82 | narrow clone a directory, tests/, except tests/t19 |
|
89 | narrow clone a directory, tests/, except tests/t19 | |
83 |
|
90 | |||
84 | $ hg clone --narrow ssh://user@dummy/master narrowdir --noupdate --include "dir/tests/" --exclude "dir/tests/t19" |
|
91 | $ hg clone --narrow ssh://user@dummy/master narrowdir --noupdate --include "dir/tests/" --exclude "dir/tests/t19" | |
85 | requesting all changes |
|
92 | requesting all changes | |
86 | adding changesets |
|
93 | adding changesets | |
87 | adding manifests |
|
94 | adding manifests | |
88 | adding file changes |
|
95 | adding file changes | |
89 | added 21 changesets with 19 changes to 19 files |
|
96 | added 21 changesets with 19 changes to 19 files | |
90 | new changesets *:* (glob) |
|
97 | new changesets *:* (glob) | |
91 | $ cd narrowdir |
|
98 | $ cd narrowdir | |
92 | $ hg tracked |
|
99 | $ hg tracked | |
93 | I path:dir/tests |
|
100 | I path:dir/tests | |
94 | X path:dir/tests/t19 |
|
101 | X path:dir/tests/t19 | |
95 | $ hg tracked |
|
102 | $ hg tracked | |
96 | I path:dir/tests |
|
103 | I path:dir/tests | |
97 | X path:dir/tests/t19 |
|
104 | X path:dir/tests/t19 | |
98 | $ hg update |
|
105 | $ hg update | |
99 | 19 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
106 | 19 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
100 | $ find * | sort |
|
107 | $ find * | sort | |
101 | dir |
|
108 | dir | |
102 | dir/tests |
|
109 | dir/tests | |
103 | dir/tests/t1 |
|
110 | dir/tests/t1 | |
104 | dir/tests/t10 |
|
111 | dir/tests/t10 | |
105 | dir/tests/t11 |
|
112 | dir/tests/t11 | |
106 | dir/tests/t12 |
|
113 | dir/tests/t12 | |
107 | dir/tests/t13 |
|
114 | dir/tests/t13 | |
108 | dir/tests/t14 |
|
115 | dir/tests/t14 | |
109 | dir/tests/t15 |
|
116 | dir/tests/t15 | |
110 | dir/tests/t16 |
|
117 | dir/tests/t16 | |
111 | dir/tests/t17 |
|
118 | dir/tests/t17 | |
112 | dir/tests/t18 |
|
119 | dir/tests/t18 | |
113 | dir/tests/t2 |
|
120 | dir/tests/t2 | |
114 | dir/tests/t20 |
|
121 | dir/tests/t20 | |
115 | dir/tests/t3 |
|
122 | dir/tests/t3 | |
116 | dir/tests/t4 |
|
123 | dir/tests/t4 | |
117 | dir/tests/t5 |
|
124 | dir/tests/t5 | |
118 | dir/tests/t6 |
|
125 | dir/tests/t6 | |
119 | dir/tests/t7 |
|
126 | dir/tests/t7 | |
120 | dir/tests/t8 |
|
127 | dir/tests/t8 | |
121 | dir/tests/t9 |
|
128 | dir/tests/t9 | |
122 |
|
129 | |||
123 | $ cd .. |
|
130 | $ cd .. | |
124 |
|
131 | |||
125 | narrow clone everything but a directory (tests/) |
|
132 | narrow clone everything but a directory (tests/) | |
126 |
|
133 | |||
127 | $ hg clone --narrow ssh://user@dummy/master narrowroot --noupdate --exclude "dir/tests" |
|
134 | $ hg clone --narrow ssh://user@dummy/master narrowroot --noupdate --exclude "dir/tests" | |
128 | requesting all changes |
|
135 | requesting all changes | |
129 | adding changesets |
|
136 | adding changesets | |
130 | adding manifests |
|
137 | adding manifests | |
131 | adding file changes |
|
138 | adding file changes | |
132 | added 21 changesets with 20 changes to 20 files |
|
139 | added 21 changesets with 20 changes to 20 files | |
133 | new changesets *:* (glob) |
|
140 | new changesets *:* (glob) | |
134 | $ cd narrowroot |
|
141 | $ cd narrowroot | |
135 | $ hg tracked |
|
142 | $ hg tracked | |
136 | I path:. |
|
143 | I path:. | |
137 | X path:dir/tests |
|
144 | X path:dir/tests | |
138 | $ hg tracked |
|
145 | $ hg tracked | |
139 | I path:. |
|
146 | I path:. | |
140 | X path:dir/tests |
|
147 | X path:dir/tests | |
141 | $ hg update |
|
148 | $ hg update | |
142 | 20 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
149 | 20 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
143 | $ find * | sort |
|
150 | $ find * | sort | |
144 | dir |
|
151 | dir | |
145 | dir/src |
|
152 | dir/src | |
146 | dir/src/f1 |
|
153 | dir/src/f1 | |
147 | dir/src/f10 |
|
154 | dir/src/f10 | |
148 | dir/src/f11 |
|
155 | dir/src/f11 | |
149 | dir/src/f12 |
|
156 | dir/src/f12 | |
150 | dir/src/f13 |
|
157 | dir/src/f13 | |
151 | dir/src/f14 |
|
158 | dir/src/f14 | |
152 | dir/src/f15 |
|
159 | dir/src/f15 | |
153 | dir/src/f16 |
|
160 | dir/src/f16 | |
154 | dir/src/f17 |
|
161 | dir/src/f17 | |
155 | dir/src/f18 |
|
162 | dir/src/f18 | |
156 | dir/src/f19 |
|
163 | dir/src/f19 | |
157 | dir/src/f2 |
|
164 | dir/src/f2 | |
158 | dir/src/f20 |
|
165 | dir/src/f20 | |
159 | dir/src/f3 |
|
166 | dir/src/f3 | |
160 | dir/src/f4 |
|
167 | dir/src/f4 | |
161 | dir/src/f5 |
|
168 | dir/src/f5 | |
162 | dir/src/f6 |
|
169 | dir/src/f6 | |
163 | dir/src/f7 |
|
170 | dir/src/f7 | |
164 | dir/src/f8 |
|
171 | dir/src/f8 | |
165 | dir/src/f9 |
|
172 | dir/src/f9 | |
166 |
|
173 | |||
167 | $ cd .. |
|
174 | $ cd .. | |
168 |
|
175 | |||
169 | narrow clone no paths at all |
|
176 | narrow clone no paths at all | |
170 |
|
177 | |||
171 | $ hg clone --narrow ssh://user@dummy/master narrowempty --noupdate |
|
178 | $ hg clone --narrow ssh://user@dummy/master narrowempty --noupdate | |
172 | requesting all changes |
|
179 | requesting all changes | |
173 | adding changesets |
|
180 | adding changesets | |
174 | adding manifests |
|
181 | adding manifests | |
175 | adding file changes |
|
182 | adding file changes | |
176 | added 1 changesets with 0 changes to 0 files |
|
183 | added 1 changesets with 0 changes to 0 files | |
177 | new changesets * (glob) |
|
184 | new changesets * (glob) | |
178 | $ cd narrowempty |
|
185 | $ cd narrowempty | |
179 | $ hg tracked |
|
186 | $ hg tracked | |
180 | $ hg update |
|
187 | $ hg update | |
181 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
188 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
182 | $ ls |
|
189 | $ ls | |
183 |
|
190 | |||
184 | $ cd .. |
|
191 | $ cd .. | |
185 |
|
192 | |||
186 | simple clone |
|
193 | simple clone | |
187 | $ hg clone ssh://user@dummy/master simpleclone |
|
194 | $ hg clone ssh://user@dummy/master simpleclone | |
188 | requesting all changes |
|
195 | requesting all changes | |
189 | adding changesets |
|
196 | adding changesets | |
190 | adding manifests |
|
197 | adding manifests | |
191 | adding file changes |
|
198 | adding file changes | |
192 | added 40 changesets with 40 changes to 40 files |
|
199 | added 40 changesets with 40 changes to 40 files | |
193 | new changesets * (glob) |
|
200 | new changesets * (glob) | |
194 | updating to branch default |
|
201 | updating to branch default | |
195 | 40 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
202 | 40 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
196 | $ cd simpleclone |
|
203 | $ cd simpleclone | |
197 | $ find * | sort |
|
204 | $ find * | sort | |
198 | dir |
|
205 | dir | |
199 | dir/src |
|
206 | dir/src | |
200 | dir/src/f1 |
|
207 | dir/src/f1 | |
201 | dir/src/f10 |
|
208 | dir/src/f10 | |
202 | dir/src/f11 |
|
209 | dir/src/f11 | |
203 | dir/src/f12 |
|
210 | dir/src/f12 | |
204 | dir/src/f13 |
|
211 | dir/src/f13 | |
205 | dir/src/f14 |
|
212 | dir/src/f14 | |
206 | dir/src/f15 |
|
213 | dir/src/f15 | |
207 | dir/src/f16 |
|
214 | dir/src/f16 | |
208 | dir/src/f17 |
|
215 | dir/src/f17 | |
209 | dir/src/f18 |
|
216 | dir/src/f18 | |
210 | dir/src/f19 |
|
217 | dir/src/f19 | |
211 | dir/src/f2 |
|
218 | dir/src/f2 | |
212 | dir/src/f20 |
|
219 | dir/src/f20 | |
213 | dir/src/f3 |
|
220 | dir/src/f3 | |
214 | dir/src/f4 |
|
221 | dir/src/f4 | |
215 | dir/src/f5 |
|
222 | dir/src/f5 | |
216 | dir/src/f6 |
|
223 | dir/src/f6 | |
217 | dir/src/f7 |
|
224 | dir/src/f7 | |
218 | dir/src/f8 |
|
225 | dir/src/f8 | |
219 | dir/src/f9 |
|
226 | dir/src/f9 | |
220 | dir/tests |
|
227 | dir/tests | |
221 | dir/tests/t1 |
|
228 | dir/tests/t1 | |
222 | dir/tests/t10 |
|
229 | dir/tests/t10 | |
223 | dir/tests/t11 |
|
230 | dir/tests/t11 | |
224 | dir/tests/t12 |
|
231 | dir/tests/t12 | |
225 | dir/tests/t13 |
|
232 | dir/tests/t13 | |
226 | dir/tests/t14 |
|
233 | dir/tests/t14 | |
227 | dir/tests/t15 |
|
234 | dir/tests/t15 | |
228 | dir/tests/t16 |
|
235 | dir/tests/t16 | |
229 | dir/tests/t17 |
|
236 | dir/tests/t17 | |
230 | dir/tests/t18 |
|
237 | dir/tests/t18 | |
231 | dir/tests/t19 |
|
238 | dir/tests/t19 | |
232 | dir/tests/t2 |
|
239 | dir/tests/t2 | |
233 | dir/tests/t20 |
|
240 | dir/tests/t20 | |
234 | dir/tests/t3 |
|
241 | dir/tests/t3 | |
235 | dir/tests/t4 |
|
242 | dir/tests/t4 | |
236 | dir/tests/t5 |
|
243 | dir/tests/t5 | |
237 | dir/tests/t6 |
|
244 | dir/tests/t6 | |
238 | dir/tests/t7 |
|
245 | dir/tests/t7 | |
239 | dir/tests/t8 |
|
246 | dir/tests/t8 | |
240 | dir/tests/t9 |
|
247 | dir/tests/t9 | |
241 |
|
248 | |||
242 | $ cd .. |
|
249 | $ cd .. | |
243 |
|
250 | |||
244 | Testing the --narrowspec flag to clone |
|
251 | Testing the --narrowspec flag to clone | |
245 |
|
252 | |||
246 | $ cat >> narrowspecs <<EOF |
|
253 | $ cat >> narrowspecs <<EOF | |
247 | > %include foo |
|
254 | > %include foo | |
248 | > [include] |
|
255 | > [include] | |
249 | > path:dir/tests/ |
|
256 | > path:dir/tests/ | |
250 | > path:dir/src/f12 |
|
257 | > path:dir/src/f12 | |
251 | > EOF |
|
258 | > EOF | |
252 |
|
259 | |||
253 | $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs |
|
260 | $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs | |
254 | reading narrowspec from '$TESTTMP/narrowspecs' |
|
261 | reading narrowspec from '$TESTTMP/narrowspecs' | |
255 | abort: cannot specify other files using '%include' in narrowspec |
|
262 | abort: cannot specify other files using '%include' in narrowspec | |
256 | [255] |
|
263 | [255] | |
257 |
|
264 | |||
258 | $ cat > narrowspecs <<EOF |
|
265 | $ cat > narrowspecs <<EOF | |
259 | > [include] |
|
266 | > [include] | |
260 | > path:dir/tests/ |
|
267 | > path:dir/tests/ | |
261 | > path:dir/src/f12 |
|
268 | > path:dir/src/f12 | |
262 | > EOF |
|
269 | > EOF | |
263 |
|
270 | |||
264 | $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs |
|
271 | $ hg clone ssh://user@dummy/master specfile --narrowspec narrowspecs | |
265 | reading narrowspec from '$TESTTMP/narrowspecs' |
|
272 | reading narrowspec from '$TESTTMP/narrowspecs' | |
266 | requesting all changes |
|
273 | requesting all changes | |
267 | adding changesets |
|
274 | adding changesets | |
268 | adding manifests |
|
275 | adding manifests | |
269 | adding file changes |
|
276 | adding file changes | |
270 | added 23 changesets with 21 changes to 21 files |
|
277 | added 23 changesets with 21 changes to 21 files | |
271 | new changesets c13e3773edb4:26ce255d5b5d |
|
278 | new changesets c13e3773edb4:26ce255d5b5d | |
272 | updating to branch default |
|
279 | updating to branch default | |
273 | 21 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
280 | 21 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
274 | $ cd specfile |
|
281 | $ cd specfile | |
275 | $ hg tracked |
|
282 | $ hg tracked | |
276 | I path:dir/src/f12 |
|
283 | I path:dir/src/f12 | |
277 | I path:dir/tests |
|
284 | I path:dir/tests | |
278 | $ cd .. |
|
285 | $ cd .. | |
279 |
|
286 | |||
280 | Narrow spec with invalid patterns is rejected |
|
287 | Narrow spec with invalid patterns is rejected | |
281 |
|
288 | |||
282 | $ cat > narrowspecs <<EOF |
|
289 | $ cat > narrowspecs <<EOF | |
283 | > [include] |
|
290 | > [include] | |
284 | > glob:** |
|
291 | > glob:** | |
285 | > EOF |
|
292 | > EOF | |
286 |
|
293 | |||
287 | $ hg clone ssh://user@dummy/master badspecfile --narrowspec narrowspecs |
|
294 | $ hg clone ssh://user@dummy/master badspecfile --narrowspec narrowspecs | |
288 | reading narrowspec from '$TESTTMP/narrowspecs' |
|
295 | reading narrowspec from '$TESTTMP/narrowspecs' | |
289 | abort: invalid prefix on narrow pattern: glob:** |
|
296 | abort: invalid prefix on narrow pattern: glob:** | |
290 | (narrow patterns must begin with one of the following: path:, rootfilesin:) |
|
297 | (narrow patterns must begin with one of the following: path:, rootfilesin:) | |
291 | [255] |
|
298 | [255] |
General Comments 0
You need to be logged in to leave comments.
Login now