##// END OF EJS Templates
test: enable sparse-revlog for test-narrow-clone.t...
Boris Feld -
r40936:56fff6d7 default
parent child Browse files
Show More
@@ -1,291 +1,298 b''
1 TRANSITIONAL CONFIG
2 $ cat << EOF >> $HGRCPATH
3 > [format]
4 > sparse-revlog = yes
5 > EOF
6
1 $ . "$TESTDIR/narrow-library.sh"
7 $ . "$TESTDIR/narrow-library.sh"
2
8
3 $ hg init master
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