##// END OF EJS Templates
test-largefiles: better formatting of comments
Martin Geisler -
r16581:48dfd9ae default
parent child Browse files
Show More
@@ -1,1129 +1,1132 b''
1 $ "$TESTDIR/hghave" symlink unix-permissions serve || exit 80
1 $ "$TESTDIR/hghave" symlink unix-permissions serve || exit 80
2 $ USERCACHE=`pwd`/cache; export USERCACHE
2 $ USERCACHE=`pwd`/cache; export USERCACHE
3 $ mkdir -p ${USERCACHE}
3 $ mkdir -p ${USERCACHE}
4 $ cat >> $HGRCPATH <<EOF
4 $ cat >> $HGRCPATH <<EOF
5 > [extensions]
5 > [extensions]
6 > largefiles=
6 > largefiles=
7 > purge=
7 > purge=
8 > rebase=
8 > rebase=
9 > transplant=
9 > transplant=
10 > [phases]
10 > [phases]
11 > publish=False
11 > publish=False
12 > [largefiles]
12 > [largefiles]
13 > minsize=2
13 > minsize=2
14 > patterns=glob:**.dat
14 > patterns=glob:**.dat
15 > usercache=${USERCACHE}
15 > usercache=${USERCACHE}
16 > [hooks]
16 > [hooks]
17 > precommit=echo "Invoking status precommit hook"; hg status
17 > precommit=echo "Invoking status precommit hook"; hg status
18 > EOF
18 > EOF
19
19
20 Create the repo with a couple of revisions of both large and normal
20 Create the repo with a couple of revisions of both large and normal
21 files, testing that status correctly shows largefiles and that summary output
21 files, testing that status correctly shows largefiles and that summary output
22 is correct.
22 is correct.
23
23
24 $ hg init a
24 $ hg init a
25 $ cd a
25 $ cd a
26 $ mkdir sub
26 $ mkdir sub
27 $ echo normal1 > normal1
27 $ echo normal1 > normal1
28 $ echo normal2 > sub/normal2
28 $ echo normal2 > sub/normal2
29 $ echo large1 > large1
29 $ echo large1 > large1
30 $ echo large2 > sub/large2
30 $ echo large2 > sub/large2
31 $ hg add normal1 sub/normal2
31 $ hg add normal1 sub/normal2
32 $ hg add --large large1 sub/large2
32 $ hg add --large large1 sub/large2
33 $ hg commit -m "add files"
33 $ hg commit -m "add files"
34 Invoking status precommit hook
34 Invoking status precommit hook
35 A large1
35 A large1
36 A normal1
36 A normal1
37 A sub/large2
37 A sub/large2
38 A sub/normal2
38 A sub/normal2
39 $ echo normal11 > normal1
39 $ echo normal11 > normal1
40 $ echo normal22 > sub/normal2
40 $ echo normal22 > sub/normal2
41 $ echo large11 > large1
41 $ echo large11 > large1
42 $ echo large22 > sub/large2
42 $ echo large22 > sub/large2
43 $ hg commit -m "edit files"
43 $ hg commit -m "edit files"
44 Invoking status precommit hook
44 Invoking status precommit hook
45 M large1
45 M large1
46 M normal1
46 M normal1
47 M sub/large2
47 M sub/large2
48 M sub/normal2
48 M sub/normal2
49 $ hg sum --large
49 $ hg sum --large
50 parent: 1:ce8896473775 tip
50 parent: 1:ce8896473775 tip
51 edit files
51 edit files
52 branch: default
52 branch: default
53 commit: (clean)
53 commit: (clean)
54 update: (current)
54 update: (current)
55 largefiles: No remote repo
55 largefiles: No remote repo
56
56
57 Commit preserved largefile contents.
57 Commit preserved largefile contents.
58
58
59 $ cat normal1
59 $ cat normal1
60 normal11
60 normal11
61 $ cat large1
61 $ cat large1
62 large11
62 large11
63 $ cat sub/normal2
63 $ cat sub/normal2
64 normal22
64 normal22
65 $ cat sub/large2
65 $ cat sub/large2
66 large22
66 large22
67
67
68 Remove both largefiles and normal files.
68 Remove both largefiles and normal files.
69
69
70 $ hg remove normal1 large1
70 $ hg remove normal1 large1
71 $ hg status large1
71 $ hg status large1
72 R large1
72 R large1
73 $ hg commit -m "remove files"
73 $ hg commit -m "remove files"
74 Invoking status precommit hook
74 Invoking status precommit hook
75 R large1
75 R large1
76 R normal1
76 R normal1
77 $ ls
77 $ ls
78 sub
78 sub
79 $ echo "testlargefile" > large1-test
79 $ echo "testlargefile" > large1-test
80 $ hg add --large large1-test
80 $ hg add --large large1-test
81 $ hg st
81 $ hg st
82 A large1-test
82 A large1-test
83 $ hg rm large1-test
83 $ hg rm large1-test
84 not removing large1-test: file has been marked for add (use forget to undo)
84 not removing large1-test: file has been marked for add (use forget to undo)
85 $ hg st
85 $ hg st
86 A large1-test
86 A large1-test
87 $ hg forget large1-test
87 $ hg forget large1-test
88 $ hg st
88 $ hg st
89 ? large1-test
89 ? large1-test
90 $ rm large1-test
90 $ rm large1-test
91
91
92 Copy both largefiles and normal files (testing that status output is correct).
92 Copy both largefiles and normal files (testing that status output is correct).
93
93
94 $ hg cp sub/normal2 normal1
94 $ hg cp sub/normal2 normal1
95 $ hg cp sub/large2 large1
95 $ hg cp sub/large2 large1
96 $ hg commit -m "copy files"
96 $ hg commit -m "copy files"
97 Invoking status precommit hook
97 Invoking status precommit hook
98 A large1
98 A large1
99 A normal1
99 A normal1
100 $ cat normal1
100 $ cat normal1
101 normal22
101 normal22
102 $ cat large1
102 $ cat large1
103 large22
103 large22
104
104
105 Test moving largefiles and verify that normal files are also unaffected.
105 Test moving largefiles and verify that normal files are also unaffected.
106
106
107 $ hg mv normal1 normal3
107 $ hg mv normal1 normal3
108 $ hg mv large1 large3
108 $ hg mv large1 large3
109 $ hg mv sub/normal2 sub/normal4
109 $ hg mv sub/normal2 sub/normal4
110 $ hg mv sub/large2 sub/large4
110 $ hg mv sub/large2 sub/large4
111 $ hg commit -m "move files"
111 $ hg commit -m "move files"
112 Invoking status precommit hook
112 Invoking status precommit hook
113 A large3
113 A large3
114 A normal3
114 A normal3
115 A sub/large4
115 A sub/large4
116 A sub/normal4
116 A sub/normal4
117 R large1
117 R large1
118 R normal1
118 R normal1
119 R sub/large2
119 R sub/large2
120 R sub/normal2
120 R sub/normal2
121 $ cat normal3
121 $ cat normal3
122 normal22
122 normal22
123 $ cat large3
123 $ cat large3
124 large22
124 large22
125 $ cat sub/normal4
125 $ cat sub/normal4
126 normal22
126 normal22
127 $ cat sub/large4
127 $ cat sub/large4
128 large22
128 large22
129
129
130 Test display of largefiles in hgweb
130 Test display of largefiles in hgweb
131
131
132 $ hg serve -d -p $HGPORT --pid-file ../hg.pid
132 $ hg serve -d -p $HGPORT --pid-file ../hg.pid
133 $ cat ../hg.pid >> $DAEMON_PIDS
133 $ cat ../hg.pid >> $DAEMON_PIDS
134 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/tip/?style=raw'
134 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/tip/?style=raw'
135 200 Script output follows
135 200 Script output follows
136
136
137
137
138 drwxr-xr-x sub
138 drwxr-xr-x sub
139 -rw-r--r-- 41 large3
139 -rw-r--r-- 41 large3
140 -rw-r--r-- 9 normal3
140 -rw-r--r-- 9 normal3
141
141
142
142
143 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/tip/sub/?style=raw'
143 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/tip/sub/?style=raw'
144 200 Script output follows
144 200 Script output follows
145
145
146
146
147 -rw-r--r-- 41 large4
147 -rw-r--r-- 41 large4
148 -rw-r--r-- 9 normal4
148 -rw-r--r-- 9 normal4
149
149
150
150
151 $ "$TESTDIR/killdaemons.py"
151 $ "$TESTDIR/killdaemons.py"
152
152
153 Test archiving the various revisions. These hit corner cases known with
153 Test archiving the various revisions. These hit corner cases known with
154 archiving.
154 archiving.
155
155
156 $ hg archive -r 0 ../archive0
156 $ hg archive -r 0 ../archive0
157 $ hg archive -r 1 ../archive1
157 $ hg archive -r 1 ../archive1
158 $ hg archive -r 2 ../archive2
158 $ hg archive -r 2 ../archive2
159 $ hg archive -r 3 ../archive3
159 $ hg archive -r 3 ../archive3
160 $ hg archive -r 4 ../archive4
160 $ hg archive -r 4 ../archive4
161 $ cd ../archive0
161 $ cd ../archive0
162 $ cat normal1
162 $ cat normal1
163 normal1
163 normal1
164 $ cat large1
164 $ cat large1
165 large1
165 large1
166 $ cat sub/normal2
166 $ cat sub/normal2
167 normal2
167 normal2
168 $ cat sub/large2
168 $ cat sub/large2
169 large2
169 large2
170 $ cd ../archive1
170 $ cd ../archive1
171 $ cat normal1
171 $ cat normal1
172 normal11
172 normal11
173 $ cat large1
173 $ cat large1
174 large11
174 large11
175 $ cat sub/normal2
175 $ cat sub/normal2
176 normal22
176 normal22
177 $ cat sub/large2
177 $ cat sub/large2
178 large22
178 large22
179 $ cd ../archive2
179 $ cd ../archive2
180 $ ls
180 $ ls
181 sub
181 sub
182 $ cat sub/normal2
182 $ cat sub/normal2
183 normal22
183 normal22
184 $ cat sub/large2
184 $ cat sub/large2
185 large22
185 large22
186 $ cd ../archive3
186 $ cd ../archive3
187 $ cat normal1
187 $ cat normal1
188 normal22
188 normal22
189 $ cat large1
189 $ cat large1
190 large22
190 large22
191 $ cat sub/normal2
191 $ cat sub/normal2
192 normal22
192 normal22
193 $ cat sub/large2
193 $ cat sub/large2
194 large22
194 large22
195 $ cd ../archive4
195 $ cd ../archive4
196 $ cat normal3
196 $ cat normal3
197 normal22
197 normal22
198 $ cat large3
198 $ cat large3
199 large22
199 large22
200 $ cat sub/normal4
200 $ cat sub/normal4
201 normal22
201 normal22
202 $ cat sub/large4
202 $ cat sub/large4
203 large22
203 large22
204
204
205 Commit corner case: specify files to commit.
205 Commit corner case: specify files to commit.
206
206
207 $ cd ../a
207 $ cd ../a
208 $ echo normal3 > normal3
208 $ echo normal3 > normal3
209 $ echo large3 > large3
209 $ echo large3 > large3
210 $ echo normal4 > sub/normal4
210 $ echo normal4 > sub/normal4
211 $ echo large4 > sub/large4
211 $ echo large4 > sub/large4
212 $ hg commit normal3 large3 sub/normal4 sub/large4 -m "edit files again"
212 $ hg commit normal3 large3 sub/normal4 sub/large4 -m "edit files again"
213 Invoking status precommit hook
213 Invoking status precommit hook
214 M large3
214 M large3
215 M normal3
215 M normal3
216 M sub/large4
216 M sub/large4
217 M sub/normal4
217 M sub/normal4
218 $ cat normal3
218 $ cat normal3
219 normal3
219 normal3
220 $ cat large3
220 $ cat large3
221 large3
221 large3
222 $ cat sub/normal4
222 $ cat sub/normal4
223 normal4
223 normal4
224 $ cat sub/large4
224 $ cat sub/large4
225 large4
225 large4
226
226
227 One more commit corner case: commit from a subdirectory.
227 One more commit corner case: commit from a subdirectory.
228
228
229 $ cd ../a
229 $ cd ../a
230 $ echo normal33 > normal3
230 $ echo normal33 > normal3
231 $ echo large33 > large3
231 $ echo large33 > large3
232 $ echo normal44 > sub/normal4
232 $ echo normal44 > sub/normal4
233 $ echo large44 > sub/large4
233 $ echo large44 > sub/large4
234 $ cd sub
234 $ cd sub
235 $ hg commit -m "edit files yet again"
235 $ hg commit -m "edit files yet again"
236 Invoking status precommit hook
236 Invoking status precommit hook
237 M large3
237 M large3
238 M normal3
238 M normal3
239 M sub/large4
239 M sub/large4
240 M sub/normal4
240 M sub/normal4
241 $ cat ../normal3
241 $ cat ../normal3
242 normal33
242 normal33
243 $ cat ../large3
243 $ cat ../large3
244 large33
244 large33
245 $ cat normal4
245 $ cat normal4
246 normal44
246 normal44
247 $ cat large4
247 $ cat large4
248 large44
248 large44
249
249
250 Committing standins is not allowed.
250 Committing standins is not allowed.
251
251
252 $ cd ..
252 $ cd ..
253 $ echo large3 > large3
253 $ echo large3 > large3
254 $ hg commit .hglf/large3 -m "try to commit standin"
254 $ hg commit .hglf/large3 -m "try to commit standin"
255 abort: file ".hglf/large3" is a largefile standin
255 abort: file ".hglf/large3" is a largefile standin
256 (commit the largefile itself instead)
256 (commit the largefile itself instead)
257 [255]
257 [255]
258
258
259 Corner cases for adding largefiles.
259 Corner cases for adding largefiles.
260
260
261 $ echo large5 > large5
261 $ echo large5 > large5
262 $ hg add --large large5
262 $ hg add --large large5
263 $ hg add --large large5
263 $ hg add --large large5
264 large5 already a largefile
264 large5 already a largefile
265 $ mkdir sub2
265 $ mkdir sub2
266 $ echo large6 > sub2/large6
266 $ echo large6 > sub2/large6
267 $ echo large7 > sub2/large7
267 $ echo large7 > sub2/large7
268 $ hg add --large sub2
268 $ hg add --large sub2
269 adding sub2/large6 as a largefile (glob)
269 adding sub2/large6 as a largefile (glob)
270 adding sub2/large7 as a largefile (glob)
270 adding sub2/large7 as a largefile (glob)
271 $ hg st
271 $ hg st
272 M large3
272 M large3
273 A large5
273 A large5
274 A sub2/large6
274 A sub2/large6
275 A sub2/large7
275 A sub2/large7
276
276
277 Test "hg status" with combination of 'file pattern' and 'directory
277 Test "hg status" with combination of 'file pattern' and 'directory
278 pattern' for largefiles:
278 pattern' for largefiles:
279
279
280 $ hg status sub2/large6 sub2
280 $ hg status sub2/large6 sub2
281 A sub2/large6
281 A sub2/large6
282 A sub2/large7
282 A sub2/large7
283
283
284 Config settings (pattern **.dat, minsize 2 MB) are respected.
284 Config settings (pattern **.dat, minsize 2 MB) are respected.
285
285
286 $ echo testdata > test.dat
286 $ echo testdata > test.dat
287 $ dd bs=1k count=2k if=/dev/zero of=reallylarge > /dev/null 2> /dev/null
287 $ dd bs=1k count=2k if=/dev/zero of=reallylarge > /dev/null 2> /dev/null
288 $ hg add
288 $ hg add
289 adding reallylarge as a largefile
289 adding reallylarge as a largefile
290 adding test.dat as a largefile
290 adding test.dat as a largefile
291
291
292 Test that minsize and --lfsize handle float values;
292 Test that minsize and --lfsize handle float values;
293 also tests that --lfsize overrides largefiles.minsize.
293 also tests that --lfsize overrides largefiles.minsize.
294 (0.250 MB = 256 kB = 262144 B)
294 (0.250 MB = 256 kB = 262144 B)
295
295
296 $ dd if=/dev/zero of=ratherlarge bs=1024 count=256 > /dev/null 2> /dev/null
296 $ dd if=/dev/zero of=ratherlarge bs=1024 count=256 > /dev/null 2> /dev/null
297 $ dd if=/dev/zero of=medium bs=1024 count=128 > /dev/null 2> /dev/null
297 $ dd if=/dev/zero of=medium bs=1024 count=128 > /dev/null 2> /dev/null
298 $ hg --config largefiles.minsize=.25 add
298 $ hg --config largefiles.minsize=.25 add
299 adding ratherlarge as a largefile
299 adding ratherlarge as a largefile
300 adding medium
300 adding medium
301 $ hg forget medium
301 $ hg forget medium
302 $ hg --config largefiles.minsize=.25 add --lfsize=.125
302 $ hg --config largefiles.minsize=.25 add --lfsize=.125
303 adding medium as a largefile
303 adding medium as a largefile
304 $ dd if=/dev/zero of=notlarge bs=1024 count=127 > /dev/null 2> /dev/null
304 $ dd if=/dev/zero of=notlarge bs=1024 count=127 > /dev/null 2> /dev/null
305 $ hg --config largefiles.minsize=.25 add --lfsize=.125
305 $ hg --config largefiles.minsize=.25 add --lfsize=.125
306 adding notlarge
306 adding notlarge
307 $ hg forget notlarge
307 $ hg forget notlarge
308
308
309 Test forget on largefiles.
309 Test forget on largefiles.
310
310
311 $ hg forget large3 large5 test.dat reallylarge ratherlarge medium
311 $ hg forget large3 large5 test.dat reallylarge ratherlarge medium
312 $ hg commit -m "add/edit more largefiles"
312 $ hg commit -m "add/edit more largefiles"
313 Invoking status precommit hook
313 Invoking status precommit hook
314 A sub2/large6
314 A sub2/large6
315 A sub2/large7
315 A sub2/large7
316 R large3
316 R large3
317 ? large5
317 ? large5
318 ? medium
318 ? medium
319 ? notlarge
319 ? notlarge
320 ? ratherlarge
320 ? ratherlarge
321 ? reallylarge
321 ? reallylarge
322 ? test.dat
322 ? test.dat
323 $ hg st
323 $ hg st
324 ? large3
324 ? large3
325 ? large5
325 ? large5
326 ? medium
326 ? medium
327 ? notlarge
327 ? notlarge
328 ? ratherlarge
328 ? ratherlarge
329 ? reallylarge
329 ? reallylarge
330 ? test.dat
330 ? test.dat
331
331
332 Purge with largefiles: verify that largefiles are still in the working
332 Purge with largefiles: verify that largefiles are still in the working
333 dir after a purge.
333 dir after a purge.
334
334
335 $ hg purge --all
335 $ hg purge --all
336 $ cat sub/large4
336 $ cat sub/large4
337 large44
337 large44
338 $ cat sub2/large6
338 $ cat sub2/large6
339 large6
339 large6
340 $ cat sub2/large7
340 $ cat sub2/large7
341 large7
341 large7
342
342
343 Test addremove: verify that files that should be added as largfiles are added as
343 Test addremove: verify that files that should be added as largfiles are added as
344 such and that already-existing largfiles are not added as normal files by
344 such and that already-existing largfiles are not added as normal files by
345 accident.
345 accident.
346
346
347 $ rm normal3
347 $ rm normal3
348 $ rm sub/large4
348 $ rm sub/large4
349 $ echo "testing addremove with patterns" > testaddremove.dat
349 $ echo "testing addremove with patterns" > testaddremove.dat
350 $ echo "normaladdremove" > normaladdremove
350 $ echo "normaladdremove" > normaladdremove
351 $ hg addremove
351 $ hg addremove
352 removing sub/large4
352 removing sub/large4
353 adding testaddremove.dat as a largefile
353 adding testaddremove.dat as a largefile
354 removing normal3
354 removing normal3
355 adding normaladdremove
355 adding normaladdremove
356
356
357 Clone a largefiles repo.
357 Clone a largefiles repo.
358
358
359 $ hg clone . ../b
359 $ hg clone . ../b
360 updating to branch default
360 updating to branch default
361 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
361 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
362 getting changed largefiles
362 getting changed largefiles
363 3 largefiles updated, 0 removed
363 3 largefiles updated, 0 removed
364 $ cd ../b
364 $ cd ../b
365 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
365 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
366 7:daea875e9014 add/edit more largefiles
366 7:daea875e9014 add/edit more largefiles
367 6:4355d653f84f edit files yet again
367 6:4355d653f84f edit files yet again
368 5:9d5af5072dbd edit files again
368 5:9d5af5072dbd edit files again
369 4:74c02385b94c move files
369 4:74c02385b94c move files
370 3:9e8fbc4bce62 copy files
370 3:9e8fbc4bce62 copy files
371 2:51a0ae4d5864 remove files
371 2:51a0ae4d5864 remove files
372 1:ce8896473775 edit files
372 1:ce8896473775 edit files
373 0:30d30fe6a5be add files
373 0:30d30fe6a5be add files
374 $ cat normal3
374 $ cat normal3
375 normal33
375 normal33
376 $ cat sub/normal4
376 $ cat sub/normal4
377 normal44
377 normal44
378 $ cat sub/large4
378 $ cat sub/large4
379 large44
379 large44
380 $ cat sub2/large6
380 $ cat sub2/large6
381 large6
381 large6
382 $ cat sub2/large7
382 $ cat sub2/large7
383 large7
383 large7
384 $ cd ..
384 $ cd ..
385 $ hg clone a -r 3 c
385 $ hg clone a -r 3 c
386 adding changesets
386 adding changesets
387 adding manifests
387 adding manifests
388 adding file changes
388 adding file changes
389 added 4 changesets with 10 changes to 4 files
389 added 4 changesets with 10 changes to 4 files
390 updating to branch default
390 updating to branch default
391 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
391 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
392 getting changed largefiles
392 getting changed largefiles
393 2 largefiles updated, 0 removed
393 2 largefiles updated, 0 removed
394 $ cd c
394 $ cd c
395 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
395 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
396 3:9e8fbc4bce62 copy files
396 3:9e8fbc4bce62 copy files
397 2:51a0ae4d5864 remove files
397 2:51a0ae4d5864 remove files
398 1:ce8896473775 edit files
398 1:ce8896473775 edit files
399 0:30d30fe6a5be add files
399 0:30d30fe6a5be add files
400 $ cat normal1
400 $ cat normal1
401 normal22
401 normal22
402 $ cat large1
402 $ cat large1
403 large22
403 large22
404 $ cat sub/normal2
404 $ cat sub/normal2
405 normal22
405 normal22
406 $ cat sub/large2
406 $ cat sub/large2
407 large22
407 large22
408
408
409 Old revisions of a clone have correct largefiles content (this also
409 Old revisions of a clone have correct largefiles content (this also
410 tests update).
410 tests update).
411
411
412 $ hg update -r 1
412 $ hg update -r 1
413 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
413 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
414 getting changed largefiles
414 getting changed largefiles
415 1 largefiles updated, 0 removed
415 1 largefiles updated, 0 removed
416 $ cat large1
416 $ cat large1
417 large11
417 large11
418 $ cat sub/large2
418 $ cat sub/large2
419 large22
419 large22
420
420
421 Rebasing between two repositories does not revert largefiles to old
421 Rebasing between two repositories does not revert largefiles to old
422 revisions (this was a very bad bug that took a lot of work to fix).
422 revisions (this was a very bad bug that took a lot of work to fix).
423
423
424 $ cd ..
424 $ cd ..
425 $ hg clone a d
425 $ hg clone a d
426 updating to branch default
426 updating to branch default
427 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
427 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
428 getting changed largefiles
428 getting changed largefiles
429 3 largefiles updated, 0 removed
429 3 largefiles updated, 0 removed
430 $ cd b
430 $ cd b
431 $ echo large4-modified > sub/large4
431 $ echo large4-modified > sub/large4
432 $ echo normal3-modified > normal3
432 $ echo normal3-modified > normal3
433 $ hg commit -m "modify normal file and largefile in repo b"
433 $ hg commit -m "modify normal file and largefile in repo b"
434 Invoking status precommit hook
434 Invoking status precommit hook
435 M normal3
435 M normal3
436 M sub/large4
436 M sub/large4
437 $ cd ../d
437 $ cd ../d
438 $ echo large6-modified > sub2/large6
438 $ echo large6-modified > sub2/large6
439 $ echo normal4-modified > sub/normal4
439 $ echo normal4-modified > sub/normal4
440 $ hg commit -m "modify normal file largefile in repo d"
440 $ hg commit -m "modify normal file largefile in repo d"
441 Invoking status precommit hook
441 Invoking status precommit hook
442 M sub/normal4
442 M sub/normal4
443 M sub2/large6
443 M sub2/large6
444 $ cd ..
444 $ cd ..
445 $ hg clone d e
445 $ hg clone d e
446 updating to branch default
446 updating to branch default
447 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
447 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
448 getting changed largefiles
448 getting changed largefiles
449 3 largefiles updated, 0 removed
449 3 largefiles updated, 0 removed
450 $ cd d
450 $ cd d
451 $ hg pull --rebase ../b
451 $ hg pull --rebase ../b
452 pulling from ../b
452 pulling from ../b
453 searching for changes
453 searching for changes
454 adding changesets
454 adding changesets
455 adding manifests
455 adding manifests
456 adding file changes
456 adding file changes
457 added 1 changesets with 2 changes to 2 files (+1 heads)
457 added 1 changesets with 2 changes to 2 files (+1 heads)
458 Invoking status precommit hook
458 Invoking status precommit hook
459 M sub/normal4
459 M sub/normal4
460 M sub2/large6
460 M sub2/large6
461 saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-backup.hg
461 saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-backup.hg
462 nothing to rebase
462 nothing to rebase
463 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
463 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
464 9:598410d3eb9a modify normal file largefile in repo d
464 9:598410d3eb9a modify normal file largefile in repo d
465 8:a381d2c8c80e modify normal file and largefile in repo b
465 8:a381d2c8c80e modify normal file and largefile in repo b
466 7:daea875e9014 add/edit more largefiles
466 7:daea875e9014 add/edit more largefiles
467 6:4355d653f84f edit files yet again
467 6:4355d653f84f edit files yet again
468 5:9d5af5072dbd edit files again
468 5:9d5af5072dbd edit files again
469 4:74c02385b94c move files
469 4:74c02385b94c move files
470 3:9e8fbc4bce62 copy files
470 3:9e8fbc4bce62 copy files
471 2:51a0ae4d5864 remove files
471 2:51a0ae4d5864 remove files
472 1:ce8896473775 edit files
472 1:ce8896473775 edit files
473 0:30d30fe6a5be add files
473 0:30d30fe6a5be add files
474 $ cat normal3
474 $ cat normal3
475 normal3-modified
475 normal3-modified
476 $ cat sub/normal4
476 $ cat sub/normal4
477 normal4-modified
477 normal4-modified
478 $ cat sub/large4
478 $ cat sub/large4
479 large4-modified
479 large4-modified
480 $ cat sub2/large6
480 $ cat sub2/large6
481 large6-modified
481 large6-modified
482 $ cat sub2/large7
482 $ cat sub2/large7
483 large7
483 large7
484 $ cd ../e
484 $ cd ../e
485 $ hg pull ../b
485 $ hg pull ../b
486 pulling from ../b
486 pulling from ../b
487 searching for changes
487 searching for changes
488 adding changesets
488 adding changesets
489 adding manifests
489 adding manifests
490 adding file changes
490 adding file changes
491 added 1 changesets with 2 changes to 2 files (+1 heads)
491 added 1 changesets with 2 changes to 2 files (+1 heads)
492 (run 'hg heads' to see heads, 'hg merge' to merge)
492 (run 'hg heads' to see heads, 'hg merge' to merge)
493 caching new largefiles
493 caching new largefiles
494 0 largefiles cached
494 0 largefiles cached
495 $ hg rebase
495 $ hg rebase
496 Invoking status precommit hook
496 Invoking status precommit hook
497 M sub/normal4
497 M sub/normal4
498 M sub2/large6
498 M sub2/large6
499 saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-backup.hg
499 saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-backup.hg
500 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
500 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
501 9:598410d3eb9a modify normal file largefile in repo d
501 9:598410d3eb9a modify normal file largefile in repo d
502 8:a381d2c8c80e modify normal file and largefile in repo b
502 8:a381d2c8c80e modify normal file and largefile in repo b
503 7:daea875e9014 add/edit more largefiles
503 7:daea875e9014 add/edit more largefiles
504 6:4355d653f84f edit files yet again
504 6:4355d653f84f edit files yet again
505 5:9d5af5072dbd edit files again
505 5:9d5af5072dbd edit files again
506 4:74c02385b94c move files
506 4:74c02385b94c move files
507 3:9e8fbc4bce62 copy files
507 3:9e8fbc4bce62 copy files
508 2:51a0ae4d5864 remove files
508 2:51a0ae4d5864 remove files
509 1:ce8896473775 edit files
509 1:ce8896473775 edit files
510 0:30d30fe6a5be add files
510 0:30d30fe6a5be add files
511 $ cat normal3
511 $ cat normal3
512 normal3-modified
512 normal3-modified
513 $ cat sub/normal4
513 $ cat sub/normal4
514 normal4-modified
514 normal4-modified
515 $ cat sub/large4
515 $ cat sub/large4
516 large4-modified
516 large4-modified
517 $ cat sub2/large6
517 $ cat sub2/large6
518 large6-modified
518 large6-modified
519 $ cat sub2/large7
519 $ cat sub2/large7
520 large7
520 large7
521
521
522 Rollback on largefiles.
522 Rollback on largefiles.
523
523
524 $ echo large4-modified-again > sub/large4
524 $ echo large4-modified-again > sub/large4
525 $ hg commit -m "Modify large4 again"
525 $ hg commit -m "Modify large4 again"
526 Invoking status precommit hook
526 Invoking status precommit hook
527 M sub/large4
527 M sub/large4
528 $ hg rollback
528 $ hg rollback
529 repository tip rolled back to revision 9 (undo commit)
529 repository tip rolled back to revision 9 (undo commit)
530 working directory now based on revision 9
530 working directory now based on revision 9
531 $ hg st
531 $ hg st
532 M sub/large4
532 M sub/large4
533 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
533 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
534 9:598410d3eb9a modify normal file largefile in repo d
534 9:598410d3eb9a modify normal file largefile in repo d
535 8:a381d2c8c80e modify normal file and largefile in repo b
535 8:a381d2c8c80e modify normal file and largefile in repo b
536 7:daea875e9014 add/edit more largefiles
536 7:daea875e9014 add/edit more largefiles
537 6:4355d653f84f edit files yet again
537 6:4355d653f84f edit files yet again
538 5:9d5af5072dbd edit files again
538 5:9d5af5072dbd edit files again
539 4:74c02385b94c move files
539 4:74c02385b94c move files
540 3:9e8fbc4bce62 copy files
540 3:9e8fbc4bce62 copy files
541 2:51a0ae4d5864 remove files
541 2:51a0ae4d5864 remove files
542 1:ce8896473775 edit files
542 1:ce8896473775 edit files
543 0:30d30fe6a5be add files
543 0:30d30fe6a5be add files
544 $ cat sub/large4
544 $ cat sub/large4
545 large4-modified-again
545 large4-modified-again
546
546
547 "update --check" refuses to update with uncommitted changes.
547 "update --check" refuses to update with uncommitted changes.
548 $ hg update --check 8
548 $ hg update --check 8
549 abort: uncommitted local changes
549 abort: uncommitted local changes
550 [255]
550 [255]
551
551
552 "update --clean" leaves correct largefiles in working copy.
552 "update --clean" leaves correct largefiles in working copy.
553
553
554 $ hg update --clean
554 $ hg update --clean
555 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
555 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
556 getting changed largefiles
556 getting changed largefiles
557 1 largefiles updated, 0 removed
557 1 largefiles updated, 0 removed
558 $ cat normal3
558 $ cat normal3
559 normal3-modified
559 normal3-modified
560 $ cat sub/normal4
560 $ cat sub/normal4
561 normal4-modified
561 normal4-modified
562 $ cat sub/large4
562 $ cat sub/large4
563 large4-modified
563 large4-modified
564 $ cat sub2/large6
564 $ cat sub2/large6
565 large6-modified
565 large6-modified
566 $ cat sub2/large7
566 $ cat sub2/large7
567 large7
567 large7
568
568
569 Now "update check" is happy.
569 Now "update check" is happy.
570 $ hg update --check 8
570 $ hg update --check 8
571 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
571 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
572 getting changed largefiles
572 getting changed largefiles
573 1 largefiles updated, 0 removed
573 1 largefiles updated, 0 removed
574 $ hg update --check
574 $ hg update --check
575 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
575 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
576 getting changed largefiles
576 getting changed largefiles
577 1 largefiles updated, 0 removed
577 1 largefiles updated, 0 removed
578
578
579 Test removing empty largefiles directories on update
579 Test removing empty largefiles directories on update
580 $ test -d sub2 && echo "sub2 exists"
580 $ test -d sub2 && echo "sub2 exists"
581 sub2 exists
581 sub2 exists
582 $ hg update -q null
582 $ hg update -q null
583 $ test -d sub2 && echo "error: sub2 should not exist anymore"
583 $ test -d sub2 && echo "error: sub2 should not exist anymore"
584 [1]
584 [1]
585 $ hg update -q
585 $ hg update -q
586
586
587 Test hg remove removes empty largefiles directories
587 Test hg remove removes empty largefiles directories
588 $ test -d sub2 && echo "sub2 exists"
588 $ test -d sub2 && echo "sub2 exists"
589 sub2 exists
589 sub2 exists
590 $ hg remove sub2/*
590 $ hg remove sub2/*
591 $ test -d sub2 && echo "error: sub2 should not exist anymore"
591 $ test -d sub2 && echo "error: sub2 should not exist anymore"
592 [1]
592 [1]
593 $ hg revert sub2/large6 sub2/large7
593 $ hg revert sub2/large6 sub2/large7
594
594
595 "revert" works on largefiles (and normal files too).
595 "revert" works on largefiles (and normal files too).
596 $ echo hack3 >> normal3
596 $ echo hack3 >> normal3
597 $ echo hack4 >> sub/normal4
597 $ echo hack4 >> sub/normal4
598 $ echo hack4 >> sub/large4
598 $ echo hack4 >> sub/large4
599 $ rm sub2/large6
599 $ rm sub2/large6
600 $ hg revert sub2/large6
600 $ hg revert sub2/large6
601 $ hg rm sub2/large6
601 $ hg rm sub2/large6
602 $ echo new >> sub2/large8
602 $ echo new >> sub2/large8
603 $ hg add --large sub2/large8
603 $ hg add --large sub2/large8
604 # XXX we don't really want to report that we're reverting the standin;
604 # XXX we don't really want to report that we're reverting the standin;
605 # that's just an implementation detail. But I don't see an obvious fix. ;-(
605 # that's just an implementation detail. But I don't see an obvious fix. ;-(
606 $ hg revert sub
606 $ hg revert sub
607 reverting .hglf/sub/large4 (glob)
607 reverting .hglf/sub/large4 (glob)
608 reverting sub/normal4 (glob)
608 reverting sub/normal4 (glob)
609 $ hg status
609 $ hg status
610 M normal3
610 M normal3
611 A sub2/large8
611 A sub2/large8
612 R sub2/large6
612 R sub2/large6
613 ? sub/large4.orig
613 ? sub/large4.orig
614 ? sub/normal4.orig
614 ? sub/normal4.orig
615 $ cat sub/normal4
615 $ cat sub/normal4
616 normal4-modified
616 normal4-modified
617 $ cat sub/large4
617 $ cat sub/large4
618 large4-modified
618 large4-modified
619 $ hg revert -a --no-backup
619 $ hg revert -a --no-backup
620 undeleting .hglf/sub2/large6 (glob)
620 undeleting .hglf/sub2/large6 (glob)
621 forgetting .hglf/sub2/large8 (glob)
621 forgetting .hglf/sub2/large8 (glob)
622 reverting normal3
622 reverting normal3
623 $ hg status
623 $ hg status
624 ? sub/large4.orig
624 ? sub/large4.orig
625 ? sub/normal4.orig
625 ? sub/normal4.orig
626 ? sub2/large8
626 ? sub2/large8
627 $ cat normal3
627 $ cat normal3
628 normal3-modified
628 normal3-modified
629 $ cat sub2/large6
629 $ cat sub2/large6
630 large6-modified
630 large6-modified
631 $ rm sub/*.orig sub2/large8
631 $ rm sub/*.orig sub2/large8
632
632
633 revert some files to an older revision
633 revert some files to an older revision
634 $ hg revert --no-backup -r 8 sub2
634 $ hg revert --no-backup -r 8 sub2
635 reverting .hglf/sub2/large6 (glob)
635 reverting .hglf/sub2/large6 (glob)
636 $ cat sub2/large6
636 $ cat sub2/large6
637 large6
637 large6
638 $ hg revert --no-backup sub2
638 $ hg revert --no-backup sub2
639 reverting .hglf/sub2/large6 (glob)
639 reverting .hglf/sub2/large6 (glob)
640 $ hg status
640 $ hg status
641
641
642 "verify --large" actually verifies largefiles
642 "verify --large" actually verifies largefiles
643
643
644 $ hg verify --large
644 $ hg verify --large
645 checking changesets
645 checking changesets
646 checking manifests
646 checking manifests
647 crosschecking files in changesets and manifests
647 crosschecking files in changesets and manifests
648 checking files
648 checking files
649 10 files, 10 changesets, 28 total revisions
649 10 files, 10 changesets, 28 total revisions
650 searching 1 changesets for largefiles
650 searching 1 changesets for largefiles
651 verified existence of 3 revisions of 3 largefiles
651 verified existence of 3 revisions of 3 largefiles
652
652
653 Merging does not revert to old versions of largefiles and also check
653 Merging does not revert to old versions of largefiles and also check
654 that merging after having pulled from a non-default remote works
654 that merging after having pulled from a non-default remote works
655 correctly.
655 correctly.
656
656
657 $ cd ..
657 $ cd ..
658 $ hg clone -r 7 e temp
658 $ hg clone -r 7 e temp
659 adding changesets
659 adding changesets
660 adding manifests
660 adding manifests
661 adding file changes
661 adding file changes
662 added 8 changesets with 24 changes to 10 files
662 added 8 changesets with 24 changes to 10 files
663 updating to branch default
663 updating to branch default
664 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
664 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
665 getting changed largefiles
665 getting changed largefiles
666 3 largefiles updated, 0 removed
666 3 largefiles updated, 0 removed
667 $ hg clone temp f
667 $ hg clone temp f
668 updating to branch default
668 updating to branch default
669 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
669 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
670 getting changed largefiles
670 getting changed largefiles
671 3 largefiles updated, 0 removed
671 3 largefiles updated, 0 removed
672 # Delete the largefiles in the largefiles system cache so that we have an
672 # Delete the largefiles in the largefiles system cache so that we have an
673 # opportunity to test that caching after a pull works.
673 # opportunity to test that caching after a pull works.
674 $ rm ${USERCACHE}/*
674 $ rm ${USERCACHE}/*
675 $ cd f
675 $ cd f
676 $ echo "large4-merge-test" > sub/large4
676 $ echo "large4-merge-test" > sub/large4
677 $ hg commit -m "Modify large4 to test merge"
677 $ hg commit -m "Modify large4 to test merge"
678 Invoking status precommit hook
678 Invoking status precommit hook
679 M sub/large4
679 M sub/large4
680 $ hg pull ../e
680 $ hg pull ../e
681 pulling from ../e
681 pulling from ../e
682 searching for changes
682 searching for changes
683 adding changesets
683 adding changesets
684 adding manifests
684 adding manifests
685 adding file changes
685 adding file changes
686 added 2 changesets with 4 changes to 4 files (+1 heads)
686 added 2 changesets with 4 changes to 4 files (+1 heads)
687 (run 'hg heads' to see heads, 'hg merge' to merge)
687 (run 'hg heads' to see heads, 'hg merge' to merge)
688 caching new largefiles
688 caching new largefiles
689 2 largefiles cached
689 2 largefiles cached
690 $ hg merge
690 $ hg merge
691 merging sub/large4
691 merging sub/large4
692 largefile sub/large4 has a merge conflict
692 largefile sub/large4 has a merge conflict
693 keep (l)ocal or take (o)ther? l
693 keep (l)ocal or take (o)ther? l
694 3 files updated, 1 files merged, 0 files removed, 0 files unresolved
694 3 files updated, 1 files merged, 0 files removed, 0 files unresolved
695 (branch merge, don't forget to commit)
695 (branch merge, don't forget to commit)
696 getting changed largefiles
696 getting changed largefiles
697 1 largefiles updated, 0 removed
697 1 largefiles updated, 0 removed
698 $ hg commit -m "Merge repos e and f"
698 $ hg commit -m "Merge repos e and f"
699 Invoking status precommit hook
699 Invoking status precommit hook
700 M normal3
700 M normal3
701 M sub/normal4
701 M sub/normal4
702 M sub2/large6
702 M sub2/large6
703 $ cat normal3
703 $ cat normal3
704 normal3-modified
704 normal3-modified
705 $ cat sub/normal4
705 $ cat sub/normal4
706 normal4-modified
706 normal4-modified
707 $ cat sub/large4
707 $ cat sub/large4
708 large4-merge-test
708 large4-merge-test
709 $ cat sub2/large6
709 $ cat sub2/large6
710 large6-modified
710 large6-modified
711 $ cat sub2/large7
711 $ cat sub2/large7
712 large7
712 large7
713
713
714 Test status after merging with a branch that introduces a new largefile:
714 Test status after merging with a branch that introduces a new largefile:
715
715
716 $ echo large > large
716 $ echo large > large
717 $ hg add --large large
717 $ hg add --large large
718 $ hg commit -m 'add largefile'
718 $ hg commit -m 'add largefile'
719 Invoking status precommit hook
719 Invoking status precommit hook
720 A large
720 A large
721 $ hg update -q ".^"
721 $ hg update -q ".^"
722 $ echo change >> normal3
722 $ echo change >> normal3
723 $ hg commit -m 'some change'
723 $ hg commit -m 'some change'
724 Invoking status precommit hook
724 Invoking status precommit hook
725 M normal3
725 M normal3
726 created new head
726 created new head
727 $ hg merge
727 $ hg merge
728 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
728 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
729 (branch merge, don't forget to commit)
729 (branch merge, don't forget to commit)
730 getting changed largefiles
730 getting changed largefiles
731 1 largefiles updated, 0 removed
731 1 largefiles updated, 0 removed
732 $ hg status
732 $ hg status
733 M large
733 M large
734
734
735 Test that a normal file and a largefile with the same name and path cannot
735 Test that a normal file and a largefile with the same name and path cannot
736 coexist.
736 coexist.
737
737
738 $ rm sub2/large7
738 $ rm sub2/large7
739 $ echo "largeasnormal" > sub2/large7
739 $ echo "largeasnormal" > sub2/large7
740 $ hg add sub2/large7
740 $ hg add sub2/large7
741 sub2/large7 already a largefile
741 sub2/large7 already a largefile
742
742
743 Test that transplanting a largefile change works correctly.
743 Test that transplanting a largefile change works correctly.
744
744
745 $ cd ..
745 $ cd ..
746 $ hg clone -r 8 d g
746 $ hg clone -r 8 d g
747 adding changesets
747 adding changesets
748 adding manifests
748 adding manifests
749 adding file changes
749 adding file changes
750 added 9 changesets with 26 changes to 10 files
750 added 9 changesets with 26 changes to 10 files
751 updating to branch default
751 updating to branch default
752 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
752 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
753 getting changed largefiles
753 getting changed largefiles
754 3 largefiles updated, 0 removed
754 3 largefiles updated, 0 removed
755 $ cd g
755 $ cd g
756 $ hg transplant -s ../d 598410d3eb9a
756 $ hg transplant -s ../d 598410d3eb9a
757 searching for changes
757 searching for changes
758 searching for changes
758 searching for changes
759 adding changesets
759 adding changesets
760 adding manifests
760 adding manifests
761 adding file changes
761 adding file changes
762 added 1 changesets with 2 changes to 2 files
762 added 1 changesets with 2 changes to 2 files
763 getting changed largefiles
763 getting changed largefiles
764 1 largefiles updated, 0 removed
764 1 largefiles updated, 0 removed
765 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
765 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
766 9:598410d3eb9a modify normal file largefile in repo d
766 9:598410d3eb9a modify normal file largefile in repo d
767 8:a381d2c8c80e modify normal file and largefile in repo b
767 8:a381d2c8c80e modify normal file and largefile in repo b
768 7:daea875e9014 add/edit more largefiles
768 7:daea875e9014 add/edit more largefiles
769 6:4355d653f84f edit files yet again
769 6:4355d653f84f edit files yet again
770 5:9d5af5072dbd edit files again
770 5:9d5af5072dbd edit files again
771 4:74c02385b94c move files
771 4:74c02385b94c move files
772 3:9e8fbc4bce62 copy files
772 3:9e8fbc4bce62 copy files
773 2:51a0ae4d5864 remove files
773 2:51a0ae4d5864 remove files
774 1:ce8896473775 edit files
774 1:ce8896473775 edit files
775 0:30d30fe6a5be add files
775 0:30d30fe6a5be add files
776 $ cat normal3
776 $ cat normal3
777 normal3-modified
777 normal3-modified
778 $ cat sub/normal4
778 $ cat sub/normal4
779 normal4-modified
779 normal4-modified
780 $ cat sub/large4
780 $ cat sub/large4
781 large4-modified
781 large4-modified
782 $ cat sub2/large6
782 $ cat sub2/large6
783 large6-modified
783 large6-modified
784 $ cat sub2/large7
784 $ cat sub2/large7
785 large7
785 large7
786
786
787 Cat a largefile
787 Cat a largefile
788 $ hg cat normal3
788 $ hg cat normal3
789 normal3-modified
789 normal3-modified
790 $ hg cat sub/large4
790 $ hg cat sub/large4
791 large4-modified
791 large4-modified
792 $ rm ${USERCACHE}/*
792 $ rm ${USERCACHE}/*
793 $ hg cat -r a381d2c8c80e -o cat.out sub/large4
793 $ hg cat -r a381d2c8c80e -o cat.out sub/large4
794 $ cat cat.out
794 $ cat cat.out
795 large4-modified
795 large4-modified
796 $ rm cat.out
796 $ rm cat.out
797 $ hg cat -r a381d2c8c80e normal3
797 $ hg cat -r a381d2c8c80e normal3
798 normal3-modified
798 normal3-modified
799
799
800 Test that renaming a largefile results in correct output for status
800 Test that renaming a largefile results in correct output for status
801
801
802 $ hg rename sub/large4 large4-renamed
802 $ hg rename sub/large4 large4-renamed
803 $ hg commit -m "test rename output"
803 $ hg commit -m "test rename output"
804 Invoking status precommit hook
804 Invoking status precommit hook
805 A large4-renamed
805 A large4-renamed
806 R sub/large4
806 R sub/large4
807 $ cat large4-renamed
807 $ cat large4-renamed
808 large4-modified
808 large4-modified
809 $ cd sub2
809 $ cd sub2
810 $ hg rename large6 large6-renamed
810 $ hg rename large6 large6-renamed
811 $ hg st
811 $ hg st
812 A sub2/large6-renamed
812 A sub2/large6-renamed
813 R sub2/large6
813 R sub2/large6
814 $ cd ..
814 $ cd ..
815
815
816 Test --normal flag
816 Test --normal flag
817
817
818 $ dd if=/dev/zero bs=2k count=11k > new-largefile 2> /dev/null
818 $ dd if=/dev/zero bs=2k count=11k > new-largefile 2> /dev/null
819 $ hg add --normal --large new-largefile
819 $ hg add --normal --large new-largefile
820 abort: --normal cannot be used with --large
820 abort: --normal cannot be used with --large
821 [255]
821 [255]
822 $ hg add --normal new-largefile
822 $ hg add --normal new-largefile
823 new-largefile: up to 69 MB of RAM may be required to manage this file
823 new-largefile: up to 69 MB of RAM may be required to manage this file
824 (use 'hg revert new-largefile' to cancel the pending addition)
824 (use 'hg revert new-largefile' to cancel the pending addition)
825 $ cd ..
825 $ cd ..
826
826
827 vanilla clients not locked out from largefiles servers on vanilla repos
827 vanilla clients not locked out from largefiles servers on vanilla repos
828 $ mkdir r1
828 $ mkdir r1
829 $ cd r1
829 $ cd r1
830 $ hg init
830 $ hg init
831 $ echo c1 > f1
831 $ echo c1 > f1
832 $ hg add f1
832 $ hg add f1
833 $ hg commit -m "m1"
833 $ hg commit -m "m1"
834 Invoking status precommit hook
834 Invoking status precommit hook
835 A f1
835 A f1
836 $ cd ..
836 $ cd ..
837 $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
837 $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
838 $ cat hg.pid >> $DAEMON_PIDS
838 $ cat hg.pid >> $DAEMON_PIDS
839 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
839 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
840 requesting all changes
840 requesting all changes
841 adding changesets
841 adding changesets
842 adding manifests
842 adding manifests
843 adding file changes
843 adding file changes
844 added 1 changesets with 1 changes to 1 files
844 added 1 changesets with 1 changes to 1 files
845 updating to branch default
845 updating to branch default
846 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
846 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
847
847
848 largefiles clients still work with vanilla servers
848 largefiles clients still work with vanilla servers
849 $ hg --config extensions.largefiles=! serve -R r1 -d -p $HGPORT1 --pid-file hg.pid
849 $ hg --config extensions.largefiles=! serve -R r1 -d -p $HGPORT1 --pid-file hg.pid
850 $ cat hg.pid >> $DAEMON_PIDS
850 $ cat hg.pid >> $DAEMON_PIDS
851 $ hg clone http://localhost:$HGPORT1 r3
851 $ hg clone http://localhost:$HGPORT1 r3
852 requesting all changes
852 requesting all changes
853 adding changesets
853 adding changesets
854 adding manifests
854 adding manifests
855 adding file changes
855 adding file changes
856 added 1 changesets with 1 changes to 1 files
856 added 1 changesets with 1 changes to 1 files
857 updating to branch default
857 updating to branch default
858 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
858 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
859
859
860 vanilla clients locked out from largefiles http repos
860 vanilla clients locked out from largefiles http repos
861 $ mkdir r4
861 $ mkdir r4
862 $ cd r4
862 $ cd r4
863 $ hg init
863 $ hg init
864 $ echo c1 > f1
864 $ echo c1 > f1
865 $ hg add --large f1
865 $ hg add --large f1
866 $ hg commit -m "m1"
866 $ hg commit -m "m1"
867 Invoking status precommit hook
867 Invoking status precommit hook
868 A f1
868 A f1
869 $ cd ..
869 $ cd ..
870 $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
870 $ hg serve -R r4 -d -p $HGPORT2 --pid-file hg.pid
871 $ cat hg.pid >> $DAEMON_PIDS
871 $ cat hg.pid >> $DAEMON_PIDS
872 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
872 $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT2 r5
873 abort: remote error:
873 abort: remote error:
874
874
875 This repository uses the largefiles extension.
875 This repository uses the largefiles extension.
876
876
877 Please enable it in your Mercurial config file.
877 Please enable it in your Mercurial config file.
878 [255]
878 [255]
879
879
880 used all HGPORTs, kill all daemons
880 used all HGPORTs, kill all daemons
881 $ "$TESTDIR/killdaemons.py"
881 $ "$TESTDIR/killdaemons.py"
882
882
883 vanilla clients locked out from largefiles ssh repos
883 vanilla clients locked out from largefiles ssh repos
884 $ hg --config extensions.largefiles=! clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
884 $ hg --config extensions.largefiles=! clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5
885 abort: remote error:
885 abort: remote error:
886
886
887 This repository uses the largefiles extension.
887 This repository uses the largefiles extension.
888
888
889 Please enable it in your Mercurial config file.
889 Please enable it in your Mercurial config file.
890 [255]
890 [255]
891
891
892 largefiles clients refuse to push largefiles repos to vanilla servers
892 largefiles clients refuse to push largefiles repos to vanilla servers
893 $ mkdir r6
893 $ mkdir r6
894 $ cd r6
894 $ cd r6
895 $ hg init
895 $ hg init
896 $ echo c1 > f1
896 $ echo c1 > f1
897 $ hg add f1
897 $ hg add f1
898 $ hg commit -m "m1"
898 $ hg commit -m "m1"
899 Invoking status precommit hook
899 Invoking status precommit hook
900 A f1
900 A f1
901 $ cat >> .hg/hgrc <<!
901 $ cat >> .hg/hgrc <<!
902 > [web]
902 > [web]
903 > push_ssl = false
903 > push_ssl = false
904 > allow_push = *
904 > allow_push = *
905 > !
905 > !
906 $ cd ..
906 $ cd ..
907 $ hg clone r6 r7
907 $ hg clone r6 r7
908 updating to branch default
908 updating to branch default
909 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
909 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
910 $ cd r7
910 $ cd r7
911 $ echo c2 > f2
911 $ echo c2 > f2
912 $ hg add --large f2
912 $ hg add --large f2
913 $ hg commit -m "m2"
913 $ hg commit -m "m2"
914 Invoking status precommit hook
914 Invoking status precommit hook
915 A f2
915 A f2
916 $ hg --config extensions.largefiles=! -R ../r6 serve -d -p $HGPORT --pid-file ../hg.pid
916 $ hg --config extensions.largefiles=! -R ../r6 serve -d -p $HGPORT --pid-file ../hg.pid
917 $ cat ../hg.pid >> $DAEMON_PIDS
917 $ cat ../hg.pid >> $DAEMON_PIDS
918 $ hg push http://localhost:$HGPORT
918 $ hg push http://localhost:$HGPORT
919 pushing to http://localhost:$HGPORT/
919 pushing to http://localhost:$HGPORT/
920 searching for changes
920 searching for changes
921 abort: http://localhost:$HGPORT/ does not appear to be a largefile store
921 abort: http://localhost:$HGPORT/ does not appear to be a largefile store
922 [255]
922 [255]
923 $ cd ..
923 $ cd ..
924
924
925 putlfile errors are shown (issue3123)
925 putlfile errors are shown (issue3123)
926 Corrupt the cached largefile in r7
926 Corrupt the cached largefile in r7
927 $ echo corruption > $USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8
927 $ echo corruption > $USERCACHE/4cdac4d8b084d0b599525cf732437fb337d422a8
928 $ hg init empty
928 $ hg init empty
929 $ hg serve -R empty -d -p $HGPORT1 --pid-file hg.pid \
929 $ hg serve -R empty -d -p $HGPORT1 --pid-file hg.pid \
930 > --config 'web.allow_push=*' --config web.push_ssl=False
930 > --config 'web.allow_push=*' --config web.push_ssl=False
931 $ cat hg.pid >> $DAEMON_PIDS
931 $ cat hg.pid >> $DAEMON_PIDS
932 $ hg push -R r7 http://localhost:$HGPORT1
932 $ hg push -R r7 http://localhost:$HGPORT1
933 pushing to http://localhost:$HGPORT1/
933 pushing to http://localhost:$HGPORT1/
934 searching for changes
934 searching for changes
935 remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash
935 remote: largefiles: failed to put 4cdac4d8b084d0b599525cf732437fb337d422a8 into store: largefile contents do not match hash
936 abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/
936 abort: remotestore: could not put $TESTTMP/r7/.hg/largefiles/4cdac4d8b084d0b599525cf732437fb337d422a8 to remote store http://localhost:$HGPORT1/
937 [255]
937 [255]
938 $ rm -rf empty
938 $ rm -rf empty
939
939
940 Clone a local repository owned by another user
940 Clone a local repository owned by another user
941 We have to simulate that here by setting $HOME and removing write permissions
941 We have to simulate that here by setting $HOME and removing write permissions
942 $ ORIGHOME="$HOME"
942 $ ORIGHOME="$HOME"
943 $ mkdir alice
943 $ mkdir alice
944 $ HOME="`pwd`/alice"
944 $ HOME="`pwd`/alice"
945 $ cd alice
945 $ cd alice
946 $ hg init pubrepo
946 $ hg init pubrepo
947 $ cd pubrepo
947 $ cd pubrepo
948 $ dd if=/dev/zero bs=1k count=11k > a-large-file 2> /dev/null
948 $ dd if=/dev/zero bs=1k count=11k > a-large-file 2> /dev/null
949 $ hg add --large a-large-file
949 $ hg add --large a-large-file
950 $ hg commit -m "Add a large file"
950 $ hg commit -m "Add a large file"
951 Invoking status precommit hook
951 Invoking status precommit hook
952 A a-large-file
952 A a-large-file
953 $ cd ..
953 $ cd ..
954 $ chmod -R a-w pubrepo
954 $ chmod -R a-w pubrepo
955 $ cd ..
955 $ cd ..
956 $ mkdir bob
956 $ mkdir bob
957 $ HOME="`pwd`/bob"
957 $ HOME="`pwd`/bob"
958 $ cd bob
958 $ cd bob
959 $ hg clone --pull ../alice/pubrepo pubrepo
959 $ hg clone --pull ../alice/pubrepo pubrepo
960 requesting all changes
960 requesting all changes
961 adding changesets
961 adding changesets
962 adding manifests
962 adding manifests
963 adding file changes
963 adding file changes
964 added 1 changesets with 1 changes to 1 files
964 added 1 changesets with 1 changes to 1 files
965 updating to branch default
965 updating to branch default
966 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
966 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
967 getting changed largefiles
967 getting changed largefiles
968 1 largefiles updated, 0 removed
968 1 largefiles updated, 0 removed
969 $ cd ..
969 $ cd ..
970 $ chmod -R u+w alice/pubrepo
970 $ chmod -R u+w alice/pubrepo
971 $ HOME="$ORIGHOME"
971 $ HOME="$ORIGHOME"
972
972
973 Symlink to a large largefile should behave the same as a symlink to a normal file
973 Symlink to a large largefile should behave the same as a symlink to a normal file
974 $ hg init largesymlink
974 $ hg init largesymlink
975 $ cd largesymlink
975 $ cd largesymlink
976 $ dd if=/dev/zero bs=1k count=10k of=largefile 2>/dev/null
976 $ dd if=/dev/zero bs=1k count=10k of=largefile 2>/dev/null
977 $ hg add --large largefile
977 $ hg add --large largefile
978 $ hg commit -m "commit a large file"
978 $ hg commit -m "commit a large file"
979 Invoking status precommit hook
979 Invoking status precommit hook
980 A largefile
980 A largefile
981 $ ln -s largefile largelink
981 $ ln -s largefile largelink
982 $ hg add largelink
982 $ hg add largelink
983 $ hg commit -m "commit a large symlink"
983 $ hg commit -m "commit a large symlink"
984 Invoking status precommit hook
984 Invoking status precommit hook
985 A largelink
985 A largelink
986 $ rm -f largelink
986 $ rm -f largelink
987 $ hg up >/dev/null
987 $ hg up >/dev/null
988 $ test -f largelink
988 $ test -f largelink
989 [1]
989 [1]
990 $ test -L largelink
990 $ test -L largelink
991 [1]
991 [1]
992 $ rm -f largelink # make next part of the test independent of the previous
992 $ rm -f largelink # make next part of the test independent of the previous
993 $ hg up -C >/dev/null
993 $ hg up -C >/dev/null
994 $ test -f largelink
994 $ test -f largelink
995 $ test -L largelink
995 $ test -L largelink
996 $ cd ..
996 $ cd ..
997
997
998 test for pattern matching on 'hg status':
998 test for pattern matching on 'hg status':
999 to boost performance, largefiles checks whether specified patterns are
999 to boost performance, largefiles checks whether specified patterns are
1000 related to largefiles in working directory (NOT to STANDIN) or not.
1000 related to largefiles in working directory (NOT to STANDIN) or not.
1001
1001
1002 $ hg init statusmatch
1002 $ hg init statusmatch
1003 $ cd statusmatch
1003 $ cd statusmatch
1004
1004
1005 $ mkdir -p a/b/c/d
1005 $ mkdir -p a/b/c/d
1006 $ echo normal > a/b/c/d/e.normal.txt
1006 $ echo normal > a/b/c/d/e.normal.txt
1007 $ hg add a/b/c/d/e.normal.txt
1007 $ hg add a/b/c/d/e.normal.txt
1008 $ echo large > a/b/c/d/e.large.txt
1008 $ echo large > a/b/c/d/e.large.txt
1009 $ hg add --large a/b/c/d/e.large.txt
1009 $ hg add --large a/b/c/d/e.large.txt
1010 $ mkdir -p a/b/c/x
1010 $ mkdir -p a/b/c/x
1011 $ echo normal > a/b/c/x/y.normal.txt
1011 $ echo normal > a/b/c/x/y.normal.txt
1012 $ hg add a/b/c/x/y.normal.txt
1012 $ hg add a/b/c/x/y.normal.txt
1013 $ hg commit -m 'add files'
1013 $ hg commit -m 'add files'
1014 Invoking status precommit hook
1014 Invoking status precommit hook
1015 A a/b/c/d/e.large.txt
1015 A a/b/c/d/e.large.txt
1016 A a/b/c/d/e.normal.txt
1016 A a/b/c/d/e.normal.txt
1017 A a/b/c/x/y.normal.txt
1017 A a/b/c/x/y.normal.txt
1018
1018
1019 (1) no pattern: no performance boost
1019 (1) no pattern: no performance boost
1020 $ hg status -A
1020 $ hg status -A
1021 C a/b/c/d/e.large.txt
1021 C a/b/c/d/e.large.txt
1022 C a/b/c/d/e.normal.txt
1022 C a/b/c/d/e.normal.txt
1023 C a/b/c/x/y.normal.txt
1023 C a/b/c/x/y.normal.txt
1024
1024
1025 (2) pattern not related to largefiles: performance boost
1025 (2) pattern not related to largefiles: performance boost
1026 $ hg status -A a/b/c/x
1026 $ hg status -A a/b/c/x
1027 C a/b/c/x/y.normal.txt
1027 C a/b/c/x/y.normal.txt
1028
1028
1029 (3) pattern related to largefiles: no performance boost
1029 (3) pattern related to largefiles: no performance boost
1030 $ hg status -A a/b/c/d
1030 $ hg status -A a/b/c/d
1031 C a/b/c/d/e.large.txt
1031 C a/b/c/d/e.large.txt
1032 C a/b/c/d/e.normal.txt
1032 C a/b/c/d/e.normal.txt
1033
1033
1034 (4) pattern related to STANDIN (not to largefiles): performance boost
1034 (4) pattern related to STANDIN (not to largefiles): performance boost
1035 $ hg status -A .hglf/a
1035 $ hg status -A .hglf/a
1036 C .hglf/a/b/c/d/e.large.txt
1036 C .hglf/a/b/c/d/e.large.txt
1037
1037
1038 (5) mixed case: no performance boost
1038 (5) mixed case: no performance boost
1039 $ hg status -A a/b/c/x a/b/c/d
1039 $ hg status -A a/b/c/x a/b/c/d
1040 C a/b/c/d/e.large.txt
1040 C a/b/c/d/e.large.txt
1041 C a/b/c/d/e.normal.txt
1041 C a/b/c/d/e.normal.txt
1042 C a/b/c/x/y.normal.txt
1042 C a/b/c/x/y.normal.txt
1043
1043
1044 verify that largefiles doesn't break filesets
1044 verify that largefiles doesn't break filesets
1045
1045
1046 $ hg log --rev . --exclude "set:binary()"
1046 $ hg log --rev . --exclude "set:binary()"
1047 changeset: 0:41bd42f10efa
1047 changeset: 0:41bd42f10efa
1048 tag: tip
1048 tag: tip
1049 user: test
1049 user: test
1050 date: Thu Jan 01 00:00:00 1970 +0000
1050 date: Thu Jan 01 00:00:00 1970 +0000
1051 summary: add files
1051 summary: add files
1052
1052
1053 verify that large files in subrepos handled properly
1053 verify that large files in subrepos handled properly
1054 $ hg init subrepo
1054 $ hg init subrepo
1055 $ echo "subrepo = subrepo" > .hgsub
1055 $ echo "subrepo = subrepo" > .hgsub
1056 $ hg add .hgsub
1056 $ hg add .hgsub
1057 $ hg ci -m "add subrepo"
1057 $ hg ci -m "add subrepo"
1058 Invoking status precommit hook
1058 Invoking status precommit hook
1059 A .hgsub
1059 A .hgsub
1060 ? .hgsubstate
1060 ? .hgsubstate
1061 $ echo "rev 1" > subrepo/large.txt
1061 $ echo "rev 1" > subrepo/large.txt
1062 $ hg -R subrepo add --large subrepo/large.txt
1062 $ hg -R subrepo add --large subrepo/large.txt
1063 $ hg sum
1063 $ hg sum
1064 parent: 1:8ee150ea2e9c tip
1064 parent: 1:8ee150ea2e9c tip
1065 add subrepo
1065 add subrepo
1066 branch: default
1066 branch: default
1067 commit: 1 subrepos
1067 commit: 1 subrepos
1068 update: (current)
1068 update: (current)
1069 $ hg st
1069 $ hg st
1070 $ hg st -S
1070 $ hg st -S
1071 A subrepo/large.txt
1071 A subrepo/large.txt
1072 $ hg ci -S -m "commit top repo"
1072 $ hg ci -S -m "commit top repo"
1073 committing subrepository subrepo
1073 committing subrepository subrepo
1074 Invoking status precommit hook
1074 Invoking status precommit hook
1075 A large.txt
1075 A large.txt
1076 Invoking status precommit hook
1076 Invoking status precommit hook
1077 M .hgsubstate
1077 M .hgsubstate
1078 # No differences
1078 # No differences
1079 $ hg st -S
1079 $ hg st -S
1080 $ hg sum
1080 $ hg sum
1081 parent: 2:ce4cd0c527a6 tip
1081 parent: 2:ce4cd0c527a6 tip
1082 commit top repo
1082 commit top repo
1083 branch: default
1083 branch: default
1084 commit: (clean)
1084 commit: (clean)
1085 update: (current)
1085 update: (current)
1086 $ echo "rev 2" > subrepo/large.txt
1086 $ echo "rev 2" > subrepo/large.txt
1087 $ hg st -S
1087 $ hg st -S
1088 M subrepo/large.txt
1088 M subrepo/large.txt
1089 $ hg sum
1089 $ hg sum
1090 parent: 2:ce4cd0c527a6 tip
1090 parent: 2:ce4cd0c527a6 tip
1091 commit top repo
1091 commit top repo
1092 branch: default
1092 branch: default
1093 commit: 1 subrepos
1093 commit: 1 subrepos
1094 update: (current)
1094 update: (current)
1095 $ hg ci -m "this commit should fail without -S"
1095 $ hg ci -m "this commit should fail without -S"
1096 abort: uncommitted changes in subrepo subrepo
1096 abort: uncommitted changes in subrepo subrepo
1097 (use --subrepos for recursive commit)
1097 (use --subrepos for recursive commit)
1098 [255]
1098 [255]
1099
1099
1100 # Add a normal file to the subrepo, then test archiving
1100 Add a normal file to the subrepo, then test archiving
1101
1101 $ echo 'normal file' > subrepo/normal.txt
1102 $ echo 'normal file' > subrepo/normal.txt
1102 $ hg -R subrepo add subrepo/normal.txt
1103 $ hg -R subrepo add subrepo/normal.txt
1103 # Lock in subrepo, otherwise the change isn't archived
1104
1105 Lock in subrepo, otherwise the change isn't archived
1106
1104 $ hg ci -S -m "add normal file to top level"
1107 $ hg ci -S -m "add normal file to top level"
1105 committing subrepository subrepo
1108 committing subrepository subrepo
1106 Invoking status precommit hook
1109 Invoking status precommit hook
1107 M large.txt
1110 M large.txt
1108 A normal.txt
1111 A normal.txt
1109 Invoking status precommit hook
1112 Invoking status precommit hook
1110 M .hgsubstate
1113 M .hgsubstate
1111 $ hg archive -S lf_subrepo_archive
1114 $ hg archive -S lf_subrepo_archive
1112 $ find lf_subrepo_archive | sort
1115 $ find lf_subrepo_archive | sort
1113 lf_subrepo_archive
1116 lf_subrepo_archive
1114 lf_subrepo_archive/.hg_archival.txt
1117 lf_subrepo_archive/.hg_archival.txt
1115 lf_subrepo_archive/.hgsub
1118 lf_subrepo_archive/.hgsub
1116 lf_subrepo_archive/.hgsubstate
1119 lf_subrepo_archive/.hgsubstate
1117 lf_subrepo_archive/a
1120 lf_subrepo_archive/a
1118 lf_subrepo_archive/a/b
1121 lf_subrepo_archive/a/b
1119 lf_subrepo_archive/a/b/c
1122 lf_subrepo_archive/a/b/c
1120 lf_subrepo_archive/a/b/c/d
1123 lf_subrepo_archive/a/b/c/d
1121 lf_subrepo_archive/a/b/c/d/e.large.txt
1124 lf_subrepo_archive/a/b/c/d/e.large.txt
1122 lf_subrepo_archive/a/b/c/d/e.normal.txt
1125 lf_subrepo_archive/a/b/c/d/e.normal.txt
1123 lf_subrepo_archive/a/b/c/x
1126 lf_subrepo_archive/a/b/c/x
1124 lf_subrepo_archive/a/b/c/x/y.normal.txt
1127 lf_subrepo_archive/a/b/c/x/y.normal.txt
1125 lf_subrepo_archive/subrepo
1128 lf_subrepo_archive/subrepo
1126 lf_subrepo_archive/subrepo/large.txt
1129 lf_subrepo_archive/subrepo/large.txt
1127 lf_subrepo_archive/subrepo/normal.txt
1130 lf_subrepo_archive/subrepo/normal.txt
1128
1131
1129 $ cd ..
1132 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now