##// END OF EJS Templates
tests: port inline cgi script in test-largefiles.t to python 3...
Augie Fackler -
r37762:1398c2d7 default
parent child Browse files
Show More
@@ -1,1887 +1,1887 b''
1 This file used to contains all largefile tests.
1 This file used to contains all largefile tests.
2 Do not add any new tests in this file as it his already far too long to run.
2 Do not add any new tests in this file as it his already far too long to run.
3
3
4 It contains all the testing of the basic concepts of large file in a single block.
4 It contains all the testing of the basic concepts of large file in a single block.
5
5
6 $ USERCACHE="$TESTTMP/cache"; export USERCACHE
6 $ USERCACHE="$TESTTMP/cache"; export USERCACHE
7 $ mkdir "${USERCACHE}"
7 $ mkdir "${USERCACHE}"
8 $ cat >> $HGRCPATH <<EOF
8 $ cat >> $HGRCPATH <<EOF
9 > [extensions]
9 > [extensions]
10 > largefiles=
10 > largefiles=
11 > purge=
11 > purge=
12 > rebase=
12 > rebase=
13 > transplant=
13 > transplant=
14 > [phases]
14 > [phases]
15 > publish=False
15 > publish=False
16 > [largefiles]
16 > [largefiles]
17 > minsize=2
17 > minsize=2
18 > patterns=glob:**.dat
18 > patterns=glob:**.dat
19 > usercache=${USERCACHE}
19 > usercache=${USERCACHE}
20 > [hooks]
20 > [hooks]
21 > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
21 > precommit=sh -c "echo \\"Invoking status precommit hook\\"; hg status"
22 > EOF
22 > EOF
23
23
24 Create the repo with a couple of revisions of both large and normal
24 Create the repo with a couple of revisions of both large and normal
25 files.
25 files.
26 Test status and dirstate of largefiles and that summary output is correct.
26 Test status and dirstate of largefiles and that summary output is correct.
27
27
28 $ hg init a
28 $ hg init a
29 $ cd a
29 $ cd a
30 $ mkdir sub
30 $ mkdir sub
31 $ echo normal1 > normal1
31 $ echo normal1 > normal1
32 $ echo normal2 > sub/normal2
32 $ echo normal2 > sub/normal2
33 $ echo large1 > large1
33 $ echo large1 > large1
34 $ echo large2 > sub/large2
34 $ echo large2 > sub/large2
35 $ hg add normal1 sub/normal2
35 $ hg add normal1 sub/normal2
36 $ hg add --large large1 sub/large2
36 $ hg add --large large1 sub/large2
37 $ hg commit -m "add files"
37 $ hg commit -m "add files"
38 Invoking status precommit hook
38 Invoking status precommit hook
39 A large1
39 A large1
40 A normal1
40 A normal1
41 A sub/large2
41 A sub/large2
42 A sub/normal2
42 A sub/normal2
43 $ touch large1 sub/large2
43 $ touch large1 sub/large2
44 $ sleep 1
44 $ sleep 1
45 $ hg st
45 $ hg st
46 $ hg debugstate --nodates
46 $ hg debugstate --nodates
47 n 644 41 set .hglf/large1
47 n 644 41 set .hglf/large1
48 n 644 41 set .hglf/sub/large2
48 n 644 41 set .hglf/sub/large2
49 n 644 8 set normal1
49 n 644 8 set normal1
50 n 644 8 set sub/normal2
50 n 644 8 set sub/normal2
51 $ hg debugstate --large --nodates
51 $ hg debugstate --large --nodates
52 n 644 7 set large1
52 n 644 7 set large1
53 n 644 7 set sub/large2
53 n 644 7 set sub/large2
54 $ echo normal11 > normal1
54 $ echo normal11 > normal1
55 $ echo normal22 > sub/normal2
55 $ echo normal22 > sub/normal2
56 $ echo large11 > large1
56 $ echo large11 > large1
57 $ echo large22 > sub/large2
57 $ echo large22 > sub/large2
58 $ hg commit -m "edit files"
58 $ hg commit -m "edit files"
59 Invoking status precommit hook
59 Invoking status precommit hook
60 M large1
60 M large1
61 M normal1
61 M normal1
62 M sub/large2
62 M sub/large2
63 M sub/normal2
63 M sub/normal2
64 $ hg sum --large
64 $ hg sum --large
65 parent: 1:ce8896473775 tip
65 parent: 1:ce8896473775 tip
66 edit files
66 edit files
67 branch: default
67 branch: default
68 commit: (clean)
68 commit: (clean)
69 update: (current)
69 update: (current)
70 phases: 2 draft
70 phases: 2 draft
71 largefiles: (no remote repo)
71 largefiles: (no remote repo)
72
72
73 Commit preserved largefile contents.
73 Commit preserved largefile contents.
74
74
75 $ cat normal1
75 $ cat normal1
76 normal11
76 normal11
77 $ cat large1
77 $ cat large1
78 large11
78 large11
79 $ cat sub/normal2
79 $ cat sub/normal2
80 normal22
80 normal22
81 $ cat sub/large2
81 $ cat sub/large2
82 large22
82 large22
83
83
84 Test status, subdir and unknown files
84 Test status, subdir and unknown files
85
85
86 $ echo unknown > sub/unknown
86 $ echo unknown > sub/unknown
87 $ hg st --all
87 $ hg st --all
88 ? sub/unknown
88 ? sub/unknown
89 C large1
89 C large1
90 C normal1
90 C normal1
91 C sub/large2
91 C sub/large2
92 C sub/normal2
92 C sub/normal2
93 $ hg st --all sub
93 $ hg st --all sub
94 ? sub/unknown
94 ? sub/unknown
95 C sub/large2
95 C sub/large2
96 C sub/normal2
96 C sub/normal2
97 $ rm sub/unknown
97 $ rm sub/unknown
98
98
99 Test messages and exit codes for remove warning cases
99 Test messages and exit codes for remove warning cases
100
100
101 $ hg remove -A large1
101 $ hg remove -A large1
102 not removing large1: file still exists
102 not removing large1: file still exists
103 [1]
103 [1]
104 $ echo 'modified' > large1
104 $ echo 'modified' > large1
105 $ hg remove large1
105 $ hg remove large1
106 not removing large1: file is modified (use -f to force removal)
106 not removing large1: file is modified (use -f to force removal)
107 [1]
107 [1]
108 $ echo 'new' > normalnew
108 $ echo 'new' > normalnew
109 $ hg add normalnew
109 $ hg add normalnew
110 $ echo 'new' > largenew
110 $ echo 'new' > largenew
111 $ hg add --large normalnew
111 $ hg add --large normalnew
112 normalnew already tracked!
112 normalnew already tracked!
113 $ hg remove normalnew largenew
113 $ hg remove normalnew largenew
114 not removing largenew: file is untracked
114 not removing largenew: file is untracked
115 not removing normalnew: file has been marked for add (use 'hg forget' to undo add)
115 not removing normalnew: file has been marked for add (use 'hg forget' to undo add)
116 [1]
116 [1]
117 $ rm normalnew largenew
117 $ rm normalnew largenew
118 $ hg up -Cq
118 $ hg up -Cq
119
119
120 Remove both largefiles and normal files.
120 Remove both largefiles and normal files.
121
121
122 $ hg remove normal1 large1
122 $ hg remove normal1 large1
123 $ hg status large1
123 $ hg status large1
124 R large1
124 R large1
125 $ hg commit -m "remove files"
125 $ hg commit -m "remove files"
126 Invoking status precommit hook
126 Invoking status precommit hook
127 R large1
127 R large1
128 R normal1
128 R normal1
129 $ ls
129 $ ls
130 sub
130 sub
131 $ echo "testlargefile" > large1-test
131 $ echo "testlargefile" > large1-test
132 $ hg add --large large1-test
132 $ hg add --large large1-test
133 $ hg st
133 $ hg st
134 A large1-test
134 A large1-test
135 $ hg rm large1-test
135 $ hg rm large1-test
136 not removing large1-test: file has been marked for add (use forget to undo)
136 not removing large1-test: file has been marked for add (use forget to undo)
137 [1]
137 [1]
138 $ hg st
138 $ hg st
139 A large1-test
139 A large1-test
140 $ hg forget large1-test
140 $ hg forget large1-test
141 $ hg st
141 $ hg st
142 ? large1-test
142 ? large1-test
143 $ hg remove large1-test
143 $ hg remove large1-test
144 not removing large1-test: file is untracked
144 not removing large1-test: file is untracked
145 [1]
145 [1]
146 $ hg forget large1-test
146 $ hg forget large1-test
147 not removing large1-test: file is already untracked
147 not removing large1-test: file is already untracked
148 [1]
148 [1]
149 $ rm large1-test
149 $ rm large1-test
150
150
151 Copy both largefiles and normal files (testing that status output is correct).
151 Copy both largefiles and normal files (testing that status output is correct).
152
152
153 $ hg cp sub/normal2 normal1
153 $ hg cp sub/normal2 normal1
154 $ hg cp sub/large2 large1
154 $ hg cp sub/large2 large1
155 $ hg commit -m "copy files"
155 $ hg commit -m "copy files"
156 Invoking status precommit hook
156 Invoking status precommit hook
157 A large1
157 A large1
158 A normal1
158 A normal1
159 $ cat normal1
159 $ cat normal1
160 normal22
160 normal22
161 $ cat large1
161 $ cat large1
162 large22
162 large22
163
163
164 Test moving largefiles and verify that normal files are also unaffected.
164 Test moving largefiles and verify that normal files are also unaffected.
165
165
166 $ hg mv normal1 normal3
166 $ hg mv normal1 normal3
167 $ hg mv large1 large3
167 $ hg mv large1 large3
168 $ hg mv sub/normal2 sub/normal4
168 $ hg mv sub/normal2 sub/normal4
169 $ hg mv sub/large2 sub/large4
169 $ hg mv sub/large2 sub/large4
170 $ hg commit -m "move files"
170 $ hg commit -m "move files"
171 Invoking status precommit hook
171 Invoking status precommit hook
172 A large3
172 A large3
173 A normal3
173 A normal3
174 A sub/large4
174 A sub/large4
175 A sub/normal4
175 A sub/normal4
176 R large1
176 R large1
177 R normal1
177 R normal1
178 R sub/large2
178 R sub/large2
179 R sub/normal2
179 R sub/normal2
180 $ cat normal3
180 $ cat normal3
181 normal22
181 normal22
182 $ cat large3
182 $ cat large3
183 large22
183 large22
184 $ cat sub/normal4
184 $ cat sub/normal4
185 normal22
185 normal22
186 $ cat sub/large4
186 $ cat sub/large4
187 large22
187 large22
188
188
189
189
190 #if serve
190 #if serve
191 Test display of largefiles in hgweb
191 Test display of largefiles in hgweb
192
192
193 $ hg serve -d -p $HGPORT --pid-file ../hg.pid
193 $ hg serve -d -p $HGPORT --pid-file ../hg.pid
194 $ cat ../hg.pid >> $DAEMON_PIDS
194 $ cat ../hg.pid >> $DAEMON_PIDS
195 $ get-with-headers.py $LOCALIP:$HGPORT 'file/tip/?style=raw'
195 $ get-with-headers.py $LOCALIP:$HGPORT 'file/tip/?style=raw'
196 200 Script output follows
196 200 Script output follows
197
197
198
198
199 drwxr-xr-x sub
199 drwxr-xr-x sub
200 -rw-r--r-- 41 large3
200 -rw-r--r-- 41 large3
201 -rw-r--r-- 9 normal3
201 -rw-r--r-- 9 normal3
202
202
203
203
204 $ get-with-headers.py $LOCALIP:$HGPORT 'file/tip/sub/?style=raw'
204 $ get-with-headers.py $LOCALIP:$HGPORT 'file/tip/sub/?style=raw'
205 200 Script output follows
205 200 Script output follows
206
206
207
207
208 -rw-r--r-- 41 large4
208 -rw-r--r-- 41 large4
209 -rw-r--r-- 9 normal4
209 -rw-r--r-- 9 normal4
210
210
211
211
212 $ killdaemons.py
212 $ killdaemons.py
213 #endif
213 #endif
214
214
215 Test largefiles can be loaded in hgweb (wrapcommand() shouldn't fail)
215 Test largefiles can be loaded in hgweb (wrapcommand() shouldn't fail)
216
216
217 $ cat <<EOF > "$TESTTMP/hgweb.cgi"
217 $ cat <<EOF > "$TESTTMP/hgweb.cgi"
218 > #!$PYTHON
218 > #!$PYTHON
219 > from mercurial import demandimport; demandimport.enable()
219 > from mercurial import demandimport; demandimport.enable()
220 > from mercurial.hgweb import hgweb
220 > from mercurial.hgweb import hgweb
221 > from mercurial.hgweb import wsgicgi
221 > from mercurial.hgweb import wsgicgi
222 > application = hgweb('.', 'test repo')
222 > application = hgweb(b'.', b'test repo')
223 > wsgicgi.launch(application)
223 > wsgicgi.launch(application)
224 > EOF
224 > EOF
225 $ . "$TESTDIR/cgienv"
225 $ . "$TESTDIR/cgienv"
226
226
227 $ SCRIPT_NAME='' \
227 $ SCRIPT_NAME='' \
228 > $PYTHON "$TESTTMP/hgweb.cgi" > /dev/null
228 > $PYTHON "$TESTTMP/hgweb.cgi" > /dev/null
229
229
230 Test archiving the various revisions. These hit corner cases known with
230 Test archiving the various revisions. These hit corner cases known with
231 archiving.
231 archiving.
232
232
233 $ hg archive -r 0 ../archive0
233 $ hg archive -r 0 ../archive0
234 $ hg archive -r 1 ../archive1
234 $ hg archive -r 1 ../archive1
235 $ hg archive -r 2 ../archive2
235 $ hg archive -r 2 ../archive2
236 $ hg archive -r 3 ../archive3
236 $ hg archive -r 3 ../archive3
237 $ hg archive -r 4 ../archive4
237 $ hg archive -r 4 ../archive4
238 $ cd ../archive0
238 $ cd ../archive0
239 $ cat normal1
239 $ cat normal1
240 normal1
240 normal1
241 $ cat large1
241 $ cat large1
242 large1
242 large1
243 $ cat sub/normal2
243 $ cat sub/normal2
244 normal2
244 normal2
245 $ cat sub/large2
245 $ cat sub/large2
246 large2
246 large2
247 $ cd ../archive1
247 $ cd ../archive1
248 $ cat normal1
248 $ cat normal1
249 normal11
249 normal11
250 $ cat large1
250 $ cat large1
251 large11
251 large11
252 $ cat sub/normal2
252 $ cat sub/normal2
253 normal22
253 normal22
254 $ cat sub/large2
254 $ cat sub/large2
255 large22
255 large22
256 $ cd ../archive2
256 $ cd ../archive2
257 $ ls
257 $ ls
258 sub
258 sub
259 $ cat sub/normal2
259 $ cat sub/normal2
260 normal22
260 normal22
261 $ cat sub/large2
261 $ cat sub/large2
262 large22
262 large22
263 $ cd ../archive3
263 $ cd ../archive3
264 $ cat normal1
264 $ cat normal1
265 normal22
265 normal22
266 $ cat large1
266 $ cat large1
267 large22
267 large22
268 $ cat sub/normal2
268 $ cat sub/normal2
269 normal22
269 normal22
270 $ cat sub/large2
270 $ cat sub/large2
271 large22
271 large22
272 $ cd ../archive4
272 $ cd ../archive4
273 $ cat normal3
273 $ cat normal3
274 normal22
274 normal22
275 $ cat large3
275 $ cat large3
276 large22
276 large22
277 $ cat sub/normal4
277 $ cat sub/normal4
278 normal22
278 normal22
279 $ cat sub/large4
279 $ cat sub/large4
280 large22
280 large22
281
281
282 Commit corner case: specify files to commit.
282 Commit corner case: specify files to commit.
283
283
284 $ cd ../a
284 $ cd ../a
285 $ echo normal3 > normal3
285 $ echo normal3 > normal3
286 $ echo large3 > large3
286 $ echo large3 > large3
287 $ echo normal4 > sub/normal4
287 $ echo normal4 > sub/normal4
288 $ echo large4 > sub/large4
288 $ echo large4 > sub/large4
289 $ hg commit normal3 large3 sub/normal4 sub/large4 -m "edit files again"
289 $ hg commit normal3 large3 sub/normal4 sub/large4 -m "edit files again"
290 Invoking status precommit hook
290 Invoking status precommit hook
291 M large3
291 M large3
292 M normal3
292 M normal3
293 M sub/large4
293 M sub/large4
294 M sub/normal4
294 M sub/normal4
295 $ cat normal3
295 $ cat normal3
296 normal3
296 normal3
297 $ cat large3
297 $ cat large3
298 large3
298 large3
299 $ cat sub/normal4
299 $ cat sub/normal4
300 normal4
300 normal4
301 $ cat sub/large4
301 $ cat sub/large4
302 large4
302 large4
303
303
304 One more commit corner case: commit from a subdirectory.
304 One more commit corner case: commit from a subdirectory.
305
305
306 $ cd ../a
306 $ cd ../a
307 $ echo normal33 > normal3
307 $ echo normal33 > normal3
308 $ echo large33 > large3
308 $ echo large33 > large3
309 $ echo normal44 > sub/normal4
309 $ echo normal44 > sub/normal4
310 $ echo large44 > sub/large4
310 $ echo large44 > sub/large4
311 $ cd sub
311 $ cd sub
312 $ hg commit -m "edit files yet again"
312 $ hg commit -m "edit files yet again"
313 Invoking status precommit hook
313 Invoking status precommit hook
314 M large3
314 M large3
315 M normal3
315 M normal3
316 M sub/large4
316 M sub/large4
317 M sub/normal4
317 M sub/normal4
318 $ cat ../normal3
318 $ cat ../normal3
319 normal33
319 normal33
320 $ cat ../large3
320 $ cat ../large3
321 large33
321 large33
322 $ cat normal4
322 $ cat normal4
323 normal44
323 normal44
324 $ cat large4
324 $ cat large4
325 large44
325 large44
326
326
327 Committing standins is not allowed.
327 Committing standins is not allowed.
328
328
329 $ cd ..
329 $ cd ..
330 $ echo large3 > large3
330 $ echo large3 > large3
331 $ hg commit .hglf/large3 -m "try to commit standin"
331 $ hg commit .hglf/large3 -m "try to commit standin"
332 abort: file ".hglf/large3" is a largefile standin
332 abort: file ".hglf/large3" is a largefile standin
333 (commit the largefile itself instead)
333 (commit the largefile itself instead)
334 [255]
334 [255]
335
335
336 Corner cases for adding largefiles.
336 Corner cases for adding largefiles.
337
337
338 $ echo large5 > large5
338 $ echo large5 > large5
339 $ hg add --large large5
339 $ hg add --large large5
340 $ hg add --large large5
340 $ hg add --large large5
341 large5 already a largefile
341 large5 already a largefile
342 $ mkdir sub2
342 $ mkdir sub2
343 $ echo large6 > sub2/large6
343 $ echo large6 > sub2/large6
344 $ echo large7 > sub2/large7
344 $ echo large7 > sub2/large7
345 $ hg add --large sub2
345 $ hg add --large sub2
346 adding sub2/large6 as a largefile
346 adding sub2/large6 as a largefile
347 adding sub2/large7 as a largefile
347 adding sub2/large7 as a largefile
348 $ hg st
348 $ hg st
349 M large3
349 M large3
350 A large5
350 A large5
351 A sub2/large6
351 A sub2/large6
352 A sub2/large7
352 A sub2/large7
353
353
354 Committing directories containing only largefiles.
354 Committing directories containing only largefiles.
355
355
356 $ mkdir -p z/y/x/m
356 $ mkdir -p z/y/x/m
357 $ touch z/y/x/m/large1
357 $ touch z/y/x/m/large1
358 $ touch z/y/x/large2
358 $ touch z/y/x/large2
359 $ hg add --large z/y/x/m/large1 z/y/x/large2
359 $ hg add --large z/y/x/m/large1 z/y/x/large2
360 $ hg commit -m "Subdir with directory only containing largefiles" z
360 $ hg commit -m "Subdir with directory only containing largefiles" z
361 Invoking status precommit hook
361 Invoking status precommit hook
362 M large3
362 M large3
363 A large5
363 A large5
364 A sub2/large6
364 A sub2/large6
365 A sub2/large7
365 A sub2/large7
366 A z/y/x/large2
366 A z/y/x/large2
367 A z/y/x/m/large1
367 A z/y/x/m/large1
368
368
369 (and a bit of log testing)
369 (and a bit of log testing)
370
370
371 $ hg log -T '{rev}\n' z/y/x/m/large1
371 $ hg log -T '{rev}\n' z/y/x/m/large1
372 7
372 7
373 $ hg log -T '{rev}\n' z/y/x/m # with only a largefile
373 $ hg log -T '{rev}\n' z/y/x/m # with only a largefile
374 7
374 7
375
375
376 $ hg rollback --quiet
376 $ hg rollback --quiet
377 $ touch z/y/x/m/normal
377 $ touch z/y/x/m/normal
378 $ hg add z/y/x/m/normal
378 $ hg add z/y/x/m/normal
379 $ hg commit -m "Subdir with mixed contents" z
379 $ hg commit -m "Subdir with mixed contents" z
380 Invoking status precommit hook
380 Invoking status precommit hook
381 M large3
381 M large3
382 A large5
382 A large5
383 A sub2/large6
383 A sub2/large6
384 A sub2/large7
384 A sub2/large7
385 A z/y/x/large2
385 A z/y/x/large2
386 A z/y/x/m/large1
386 A z/y/x/m/large1
387 A z/y/x/m/normal
387 A z/y/x/m/normal
388 $ hg st
388 $ hg st
389 M large3
389 M large3
390 A large5
390 A large5
391 A sub2/large6
391 A sub2/large6
392 A sub2/large7
392 A sub2/large7
393 $ hg rollback --quiet
393 $ hg rollback --quiet
394 $ hg revert z/y/x/large2 z/y/x/m/large1
394 $ hg revert z/y/x/large2 z/y/x/m/large1
395 $ rm z/y/x/large2 z/y/x/m/large1
395 $ rm z/y/x/large2 z/y/x/m/large1
396 $ hg commit -m "Subdir with normal contents" z
396 $ hg commit -m "Subdir with normal contents" z
397 Invoking status precommit hook
397 Invoking status precommit hook
398 M large3
398 M large3
399 A large5
399 A large5
400 A sub2/large6
400 A sub2/large6
401 A sub2/large7
401 A sub2/large7
402 A z/y/x/m/normal
402 A z/y/x/m/normal
403 $ hg st
403 $ hg st
404 M large3
404 M large3
405 A large5
405 A large5
406 A sub2/large6
406 A sub2/large6
407 A sub2/large7
407 A sub2/large7
408 $ hg rollback --quiet
408 $ hg rollback --quiet
409 $ hg revert --quiet z
409 $ hg revert --quiet z
410 $ hg commit -m "Empty subdir" z
410 $ hg commit -m "Empty subdir" z
411 abort: z: no match under directory!
411 abort: z: no match under directory!
412 [255]
412 [255]
413 $ rm -rf z
413 $ rm -rf z
414 $ hg ci -m "standin" .hglf
414 $ hg ci -m "standin" .hglf
415 abort: file ".hglf" is a largefile standin
415 abort: file ".hglf" is a largefile standin
416 (commit the largefile itself instead)
416 (commit the largefile itself instead)
417 [255]
417 [255]
418
418
419 Test "hg status" with combination of 'file pattern' and 'directory
419 Test "hg status" with combination of 'file pattern' and 'directory
420 pattern' for largefiles:
420 pattern' for largefiles:
421
421
422 $ hg status sub2/large6 sub2
422 $ hg status sub2/large6 sub2
423 A sub2/large6
423 A sub2/large6
424 A sub2/large7
424 A sub2/large7
425
425
426 Config settings (pattern **.dat, minsize 2 MB) are respected.
426 Config settings (pattern **.dat, minsize 2 MB) are respected.
427
427
428 $ echo testdata > test.dat
428 $ echo testdata > test.dat
429 $ dd bs=1k count=2k if=/dev/zero of=reallylarge > /dev/null 2> /dev/null
429 $ dd bs=1k count=2k if=/dev/zero of=reallylarge > /dev/null 2> /dev/null
430 $ hg add
430 $ hg add
431 adding reallylarge as a largefile
431 adding reallylarge as a largefile
432 adding test.dat as a largefile
432 adding test.dat as a largefile
433
433
434 Test that minsize and --lfsize handle float values;
434 Test that minsize and --lfsize handle float values;
435 also tests that --lfsize overrides largefiles.minsize.
435 also tests that --lfsize overrides largefiles.minsize.
436 (0.250 MB = 256 kB = 262144 B)
436 (0.250 MB = 256 kB = 262144 B)
437
437
438 $ dd if=/dev/zero of=ratherlarge bs=1024 count=256 > /dev/null 2> /dev/null
438 $ dd if=/dev/zero of=ratherlarge bs=1024 count=256 > /dev/null 2> /dev/null
439 $ dd if=/dev/zero of=medium bs=1024 count=128 > /dev/null 2> /dev/null
439 $ dd if=/dev/zero of=medium bs=1024 count=128 > /dev/null 2> /dev/null
440 $ hg --config largefiles.minsize=.25 add
440 $ hg --config largefiles.minsize=.25 add
441 adding ratherlarge as a largefile
441 adding ratherlarge as a largefile
442 adding medium
442 adding medium
443 $ hg forget medium
443 $ hg forget medium
444 $ hg --config largefiles.minsize=.25 add --lfsize=.125
444 $ hg --config largefiles.minsize=.25 add --lfsize=.125
445 adding medium as a largefile
445 adding medium as a largefile
446 $ dd if=/dev/zero of=notlarge bs=1024 count=127 > /dev/null 2> /dev/null
446 $ dd if=/dev/zero of=notlarge bs=1024 count=127 > /dev/null 2> /dev/null
447 $ hg --config largefiles.minsize=.25 add --lfsize=.125
447 $ hg --config largefiles.minsize=.25 add --lfsize=.125
448 adding notlarge
448 adding notlarge
449 $ hg forget notlarge
449 $ hg forget notlarge
450
450
451 Test forget on largefiles.
451 Test forget on largefiles.
452
452
453 $ hg forget large3 large5 test.dat reallylarge ratherlarge medium
453 $ hg forget large3 large5 test.dat reallylarge ratherlarge medium
454 $ hg commit -m "add/edit more largefiles"
454 $ hg commit -m "add/edit more largefiles"
455 Invoking status precommit hook
455 Invoking status precommit hook
456 A sub2/large6
456 A sub2/large6
457 A sub2/large7
457 A sub2/large7
458 R large3
458 R large3
459 ? large5
459 ? large5
460 ? medium
460 ? medium
461 ? notlarge
461 ? notlarge
462 ? ratherlarge
462 ? ratherlarge
463 ? reallylarge
463 ? reallylarge
464 ? test.dat
464 ? test.dat
465 $ hg st
465 $ hg st
466 ? large3
466 ? large3
467 ? large5
467 ? large5
468 ? medium
468 ? medium
469 ? notlarge
469 ? notlarge
470 ? ratherlarge
470 ? ratherlarge
471 ? reallylarge
471 ? reallylarge
472 ? test.dat
472 ? test.dat
473
473
474 Purge with largefiles: verify that largefiles are still in the working
474 Purge with largefiles: verify that largefiles are still in the working
475 dir after a purge.
475 dir after a purge.
476
476
477 $ hg purge --all
477 $ hg purge --all
478 $ cat sub/large4
478 $ cat sub/large4
479 large44
479 large44
480 $ cat sub2/large6
480 $ cat sub2/large6
481 large6
481 large6
482 $ cat sub2/large7
482 $ cat sub2/large7
483 large7
483 large7
484
484
485 Test addremove: verify that files that should be added as largefiles are added as
485 Test addremove: verify that files that should be added as largefiles are added as
486 such and that already-existing largefiles are not added as normal files by
486 such and that already-existing largefiles are not added as normal files by
487 accident.
487 accident.
488
488
489 $ rm normal3
489 $ rm normal3
490 $ rm sub/large4
490 $ rm sub/large4
491 $ echo "testing addremove with patterns" > testaddremove.dat
491 $ echo "testing addremove with patterns" > testaddremove.dat
492 $ echo "normaladdremove" > normaladdremove
492 $ echo "normaladdremove" > normaladdremove
493 $ hg addremove
493 $ hg addremove
494 removing sub/large4
494 removing sub/large4
495 adding testaddremove.dat as a largefile
495 adding testaddremove.dat as a largefile
496 removing normal3
496 removing normal3
497 adding normaladdremove
497 adding normaladdremove
498
498
499 Test addremove with -R
499 Test addremove with -R
500
500
501 $ hg up -C
501 $ hg up -C
502 getting changed largefiles
502 getting changed largefiles
503 1 largefiles updated, 0 removed
503 1 largefiles updated, 0 removed
504 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
504 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
505 $ rm normal3
505 $ rm normal3
506 $ rm sub/large4
506 $ rm sub/large4
507 $ echo "testing addremove with patterns" > testaddremove.dat
507 $ echo "testing addremove with patterns" > testaddremove.dat
508 $ echo "normaladdremove" > normaladdremove
508 $ echo "normaladdremove" > normaladdremove
509 $ cd ..
509 $ cd ..
510 $ hg -R a -v addremove
510 $ hg -R a -v addremove
511 removing sub/large4
511 removing sub/large4
512 adding testaddremove.dat as a largefile
512 adding testaddremove.dat as a largefile
513 removing normal3
513 removing normal3
514 adding normaladdremove
514 adding normaladdremove
515 $ cd a
515 $ cd a
516
516
517 Test 3364
517 Test 3364
518 $ hg clone . ../addrm
518 $ hg clone . ../addrm
519 updating to branch default
519 updating to branch default
520 getting changed largefiles
520 getting changed largefiles
521 3 largefiles updated, 0 removed
521 3 largefiles updated, 0 removed
522 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
522 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
523 $ cd ../addrm
523 $ cd ../addrm
524 $ cat >> .hg/hgrc <<EOF
524 $ cat >> .hg/hgrc <<EOF
525 > [hooks]
525 > [hooks]
526 > post-commit.stat=sh -c "echo \\"Invoking status postcommit hook\\"; hg status -A"
526 > post-commit.stat=sh -c "echo \\"Invoking status postcommit hook\\"; hg status -A"
527 > EOF
527 > EOF
528 $ touch foo
528 $ touch foo
529 $ hg add --large foo
529 $ hg add --large foo
530 $ hg ci -m "add foo"
530 $ hg ci -m "add foo"
531 Invoking status precommit hook
531 Invoking status precommit hook
532 A foo
532 A foo
533 Invoking status postcommit hook
533 Invoking status postcommit hook
534 C foo
534 C foo
535 C normal3
535 C normal3
536 C sub/large4
536 C sub/large4
537 C sub/normal4
537 C sub/normal4
538 C sub2/large6
538 C sub2/large6
539 C sub2/large7
539 C sub2/large7
540 $ rm foo
540 $ rm foo
541 $ hg st
541 $ hg st
542 ! foo
542 ! foo
543 hmm.. no precommit invoked, but there is a postcommit??
543 hmm.. no precommit invoked, but there is a postcommit??
544 $ hg ci -m "will not checkin"
544 $ hg ci -m "will not checkin"
545 nothing changed (1 missing files, see 'hg status')
545 nothing changed (1 missing files, see 'hg status')
546 Invoking status postcommit hook
546 Invoking status postcommit hook
547 ! foo
547 ! foo
548 C normal3
548 C normal3
549 C sub/large4
549 C sub/large4
550 C sub/normal4
550 C sub/normal4
551 C sub2/large6
551 C sub2/large6
552 C sub2/large7
552 C sub2/large7
553 [1]
553 [1]
554 $ hg addremove
554 $ hg addremove
555 removing foo
555 removing foo
556 $ hg st
556 $ hg st
557 R foo
557 R foo
558 $ hg ci -m "used to say nothing changed"
558 $ hg ci -m "used to say nothing changed"
559 Invoking status precommit hook
559 Invoking status precommit hook
560 R foo
560 R foo
561 Invoking status postcommit hook
561 Invoking status postcommit hook
562 C normal3
562 C normal3
563 C sub/large4
563 C sub/large4
564 C sub/normal4
564 C sub/normal4
565 C sub2/large6
565 C sub2/large6
566 C sub2/large7
566 C sub2/large7
567 $ hg st
567 $ hg st
568
568
569 Test 3507 (both normal files and largefiles were a problem)
569 Test 3507 (both normal files and largefiles were a problem)
570
570
571 $ touch normal
571 $ touch normal
572 $ touch large
572 $ touch large
573 $ hg add normal
573 $ hg add normal
574 $ hg add --large large
574 $ hg add --large large
575 $ hg ci -m "added"
575 $ hg ci -m "added"
576 Invoking status precommit hook
576 Invoking status precommit hook
577 A large
577 A large
578 A normal
578 A normal
579 Invoking status postcommit hook
579 Invoking status postcommit hook
580 C large
580 C large
581 C normal
581 C normal
582 C normal3
582 C normal3
583 C sub/large4
583 C sub/large4
584 C sub/normal4
584 C sub/normal4
585 C sub2/large6
585 C sub2/large6
586 C sub2/large7
586 C sub2/large7
587 $ hg remove normal
587 $ hg remove normal
588 $ hg addremove --traceback
588 $ hg addremove --traceback
589 $ hg ci -m "addremoved normal"
589 $ hg ci -m "addremoved normal"
590 Invoking status precommit hook
590 Invoking status precommit hook
591 R normal
591 R normal
592 Invoking status postcommit hook
592 Invoking status postcommit hook
593 C large
593 C large
594 C normal3
594 C normal3
595 C sub/large4
595 C sub/large4
596 C sub/normal4
596 C sub/normal4
597 C sub2/large6
597 C sub2/large6
598 C sub2/large7
598 C sub2/large7
599 $ hg up -C '.^'
599 $ hg up -C '.^'
600 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
600 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
601 $ hg remove large
601 $ hg remove large
602 $ hg addremove --traceback
602 $ hg addremove --traceback
603 $ hg ci -m "removed large"
603 $ hg ci -m "removed large"
604 Invoking status precommit hook
604 Invoking status precommit hook
605 R large
605 R large
606 created new head
606 created new head
607 Invoking status postcommit hook
607 Invoking status postcommit hook
608 C normal
608 C normal
609 C normal3
609 C normal3
610 C sub/large4
610 C sub/large4
611 C sub/normal4
611 C sub/normal4
612 C sub2/large6
612 C sub2/large6
613 C sub2/large7
613 C sub2/large7
614
614
615 Test commit -A (issue3542)
615 Test commit -A (issue3542)
616 $ echo large8 > large8
616 $ echo large8 > large8
617 $ hg add --large large8
617 $ hg add --large large8
618 $ hg ci -Am 'this used to add large8 as normal and commit both'
618 $ hg ci -Am 'this used to add large8 as normal and commit both'
619 Invoking status precommit hook
619 Invoking status precommit hook
620 A large8
620 A large8
621 Invoking status postcommit hook
621 Invoking status postcommit hook
622 C large8
622 C large8
623 C normal
623 C normal
624 C normal3
624 C normal3
625 C sub/large4
625 C sub/large4
626 C sub/normal4
626 C sub/normal4
627 C sub2/large6
627 C sub2/large6
628 C sub2/large7
628 C sub2/large7
629 $ rm large8
629 $ rm large8
630 $ hg ci -Am 'this used to not notice the rm'
630 $ hg ci -Am 'this used to not notice the rm'
631 removing large8
631 removing large8
632 Invoking status precommit hook
632 Invoking status precommit hook
633 R large8
633 R large8
634 Invoking status postcommit hook
634 Invoking status postcommit hook
635 C normal
635 C normal
636 C normal3
636 C normal3
637 C sub/large4
637 C sub/large4
638 C sub/normal4
638 C sub/normal4
639 C sub2/large6
639 C sub2/large6
640 C sub2/large7
640 C sub2/large7
641
641
642 Test that a standin can't be added as a large file
642 Test that a standin can't be added as a large file
643
643
644 $ touch large
644 $ touch large
645 $ hg add --large large
645 $ hg add --large large
646 $ hg ci -m "add"
646 $ hg ci -m "add"
647 Invoking status precommit hook
647 Invoking status precommit hook
648 A large
648 A large
649 Invoking status postcommit hook
649 Invoking status postcommit hook
650 C large
650 C large
651 C normal
651 C normal
652 C normal3
652 C normal3
653 C sub/large4
653 C sub/large4
654 C sub/normal4
654 C sub/normal4
655 C sub2/large6
655 C sub2/large6
656 C sub2/large7
656 C sub2/large7
657 $ hg remove large
657 $ hg remove large
658 $ touch large
658 $ touch large
659 $ hg addremove --config largefiles.patterns=**large --traceback
659 $ hg addremove --config largefiles.patterns=**large --traceback
660 adding large as a largefile
660 adding large as a largefile
661
661
662 Test that outgoing --large works (with revsets too)
662 Test that outgoing --large works (with revsets too)
663 $ hg outgoing --rev '.^' --large
663 $ hg outgoing --rev '.^' --large
664 comparing with $TESTTMP/a
664 comparing with $TESTTMP/a
665 searching for changes
665 searching for changes
666 changeset: 8:c02fd3b77ec4
666 changeset: 8:c02fd3b77ec4
667 user: test
667 user: test
668 date: Thu Jan 01 00:00:00 1970 +0000
668 date: Thu Jan 01 00:00:00 1970 +0000
669 summary: add foo
669 summary: add foo
670
670
671 changeset: 9:289dd08c9bbb
671 changeset: 9:289dd08c9bbb
672 user: test
672 user: test
673 date: Thu Jan 01 00:00:00 1970 +0000
673 date: Thu Jan 01 00:00:00 1970 +0000
674 summary: used to say nothing changed
674 summary: used to say nothing changed
675
675
676 changeset: 10:34f23ac6ac12
676 changeset: 10:34f23ac6ac12
677 user: test
677 user: test
678 date: Thu Jan 01 00:00:00 1970 +0000
678 date: Thu Jan 01 00:00:00 1970 +0000
679 summary: added
679 summary: added
680
680
681 changeset: 12:710c1b2f523c
681 changeset: 12:710c1b2f523c
682 parent: 10:34f23ac6ac12
682 parent: 10:34f23ac6ac12
683 user: test
683 user: test
684 date: Thu Jan 01 00:00:00 1970 +0000
684 date: Thu Jan 01 00:00:00 1970 +0000
685 summary: removed large
685 summary: removed large
686
686
687 changeset: 13:0a3e75774479
687 changeset: 13:0a3e75774479
688 user: test
688 user: test
689 date: Thu Jan 01 00:00:00 1970 +0000
689 date: Thu Jan 01 00:00:00 1970 +0000
690 summary: this used to add large8 as normal and commit both
690 summary: this used to add large8 as normal and commit both
691
691
692 changeset: 14:84f3d378175c
692 changeset: 14:84f3d378175c
693 user: test
693 user: test
694 date: Thu Jan 01 00:00:00 1970 +0000
694 date: Thu Jan 01 00:00:00 1970 +0000
695 summary: this used to not notice the rm
695 summary: this used to not notice the rm
696
696
697 largefiles to upload (1 entities):
697 largefiles to upload (1 entities):
698 large8
698 large8
699
699
700 $ cd ../a
700 $ cd ../a
701
701
702 Clone a largefiles repo.
702 Clone a largefiles repo.
703
703
704 $ hg clone . ../b
704 $ hg clone . ../b
705 updating to branch default
705 updating to branch default
706 getting changed largefiles
706 getting changed largefiles
707 3 largefiles updated, 0 removed
707 3 largefiles updated, 0 removed
708 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
708 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
709 $ cd ../b
709 $ cd ../b
710 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
710 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
711 7:daea875e9014 add/edit more largefiles
711 7:daea875e9014 add/edit more largefiles
712 6:4355d653f84f edit files yet again
712 6:4355d653f84f edit files yet again
713 5:9d5af5072dbd edit files again
713 5:9d5af5072dbd edit files again
714 4:74c02385b94c move files
714 4:74c02385b94c move files
715 3:9e8fbc4bce62 copy files
715 3:9e8fbc4bce62 copy files
716 2:51a0ae4d5864 remove files
716 2:51a0ae4d5864 remove files
717 1:ce8896473775 edit files
717 1:ce8896473775 edit files
718 0:30d30fe6a5be add files
718 0:30d30fe6a5be add files
719 $ cat normal3
719 $ cat normal3
720 normal33
720 normal33
721
721
722 Test graph log
722 Test graph log
723
723
724 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n'
724 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n'
725 @ 7:daea875e9014 add/edit more largefiles
725 @ 7:daea875e9014 add/edit more largefiles
726 |
726 |
727 o 6:4355d653f84f edit files yet again
727 o 6:4355d653f84f edit files yet again
728 |
728 |
729 o 5:9d5af5072dbd edit files again
729 o 5:9d5af5072dbd edit files again
730 |
730 |
731 o 4:74c02385b94c move files
731 o 4:74c02385b94c move files
732 |
732 |
733 o 3:9e8fbc4bce62 copy files
733 o 3:9e8fbc4bce62 copy files
734 |
734 |
735 o 2:51a0ae4d5864 remove files
735 o 2:51a0ae4d5864 remove files
736 |
736 |
737 o 1:ce8896473775 edit files
737 o 1:ce8896473775 edit files
738 |
738 |
739 o 0:30d30fe6a5be add files
739 o 0:30d30fe6a5be add files
740
740
741
741
742 Test log with --patch
742 Test log with --patch
743
743
744 $ hg log --patch -r 6::7
744 $ hg log --patch -r 6::7
745 changeset: 6:4355d653f84f
745 changeset: 6:4355d653f84f
746 user: test
746 user: test
747 date: Thu Jan 01 00:00:00 1970 +0000
747 date: Thu Jan 01 00:00:00 1970 +0000
748 summary: edit files yet again
748 summary: edit files yet again
749
749
750 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/large3
750 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/large3
751 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
751 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
752 +++ b/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
752 +++ b/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
753 @@ -1,1 +1,1 @@
753 @@ -1,1 +1,1 @@
754 -baaf12afde9d8d67f25dab6dced0d2bf77dba47c
754 -baaf12afde9d8d67f25dab6dced0d2bf77dba47c
755 +7838695e10da2bb75ac1156565f40a2595fa2fa0
755 +7838695e10da2bb75ac1156565f40a2595fa2fa0
756 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
756 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
757 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
757 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
758 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
758 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
759 @@ -1,1 +1,1 @@
759 @@ -1,1 +1,1 @@
760 -aeb2210d19f02886dde00dac279729a48471e2f9
760 -aeb2210d19f02886dde00dac279729a48471e2f9
761 +971fb41e78fea4f8e0ba5244784239371cb00591
761 +971fb41e78fea4f8e0ba5244784239371cb00591
762 diff -r 9d5af5072dbd -r 4355d653f84f normal3
762 diff -r 9d5af5072dbd -r 4355d653f84f normal3
763 --- a/normal3 Thu Jan 01 00:00:00 1970 +0000
763 --- a/normal3 Thu Jan 01 00:00:00 1970 +0000
764 +++ b/normal3 Thu Jan 01 00:00:00 1970 +0000
764 +++ b/normal3 Thu Jan 01 00:00:00 1970 +0000
765 @@ -1,1 +1,1 @@
765 @@ -1,1 +1,1 @@
766 -normal3
766 -normal3
767 +normal33
767 +normal33
768 diff -r 9d5af5072dbd -r 4355d653f84f sub/normal4
768 diff -r 9d5af5072dbd -r 4355d653f84f sub/normal4
769 --- a/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
769 --- a/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
770 +++ b/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
770 +++ b/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
771 @@ -1,1 +1,1 @@
771 @@ -1,1 +1,1 @@
772 -normal4
772 -normal4
773 +normal44
773 +normal44
774
774
775 changeset: 7:daea875e9014
775 changeset: 7:daea875e9014
776 tag: tip
776 tag: tip
777 user: test
777 user: test
778 date: Thu Jan 01 00:00:00 1970 +0000
778 date: Thu Jan 01 00:00:00 1970 +0000
779 summary: add/edit more largefiles
779 summary: add/edit more largefiles
780
780
781 diff -r 4355d653f84f -r daea875e9014 .hglf/large3
781 diff -r 4355d653f84f -r daea875e9014 .hglf/large3
782 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
782 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
783 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
783 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
784 @@ -1,1 +0,0 @@
784 @@ -1,1 +0,0 @@
785 -7838695e10da2bb75ac1156565f40a2595fa2fa0
785 -7838695e10da2bb75ac1156565f40a2595fa2fa0
786 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large6
786 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large6
787 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
787 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
788 +++ b/.hglf/sub2/large6 Thu Jan 01 00:00:00 1970 +0000
788 +++ b/.hglf/sub2/large6 Thu Jan 01 00:00:00 1970 +0000
789 @@ -0,0 +1,1 @@
789 @@ -0,0 +1,1 @@
790 +0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30
790 +0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30
791 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large7
791 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large7
792 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
792 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
793 +++ b/.hglf/sub2/large7 Thu Jan 01 00:00:00 1970 +0000
793 +++ b/.hglf/sub2/large7 Thu Jan 01 00:00:00 1970 +0000
794 @@ -0,0 +1,1 @@
794 @@ -0,0 +1,1 @@
795 +bb3151689acb10f0c3125c560d5e63df914bc1af
795 +bb3151689acb10f0c3125c560d5e63df914bc1af
796
796
797
797
798 $ hg log --patch -r 6::7 sub/
798 $ hg log --patch -r 6::7 sub/
799 changeset: 6:4355d653f84f
799 changeset: 6:4355d653f84f
800 user: test
800 user: test
801 date: Thu Jan 01 00:00:00 1970 +0000
801 date: Thu Jan 01 00:00:00 1970 +0000
802 summary: edit files yet again
802 summary: edit files yet again
803
803
804 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
804 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
805 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
805 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
806 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
806 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
807 @@ -1,1 +1,1 @@
807 @@ -1,1 +1,1 @@
808 -aeb2210d19f02886dde00dac279729a48471e2f9
808 -aeb2210d19f02886dde00dac279729a48471e2f9
809 +971fb41e78fea4f8e0ba5244784239371cb00591
809 +971fb41e78fea4f8e0ba5244784239371cb00591
810 diff -r 9d5af5072dbd -r 4355d653f84f sub/normal4
810 diff -r 9d5af5072dbd -r 4355d653f84f sub/normal4
811 --- a/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
811 --- a/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
812 +++ b/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
812 +++ b/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
813 @@ -1,1 +1,1 @@
813 @@ -1,1 +1,1 @@
814 -normal4
814 -normal4
815 +normal44
815 +normal44
816
816
817
817
818 log with both --follow and --patch
818 log with both --follow and --patch
819
819
820 $ hg log --follow --patch --limit 2
820 $ hg log --follow --patch --limit 2
821 changeset: 7:daea875e9014
821 changeset: 7:daea875e9014
822 tag: tip
822 tag: tip
823 user: test
823 user: test
824 date: Thu Jan 01 00:00:00 1970 +0000
824 date: Thu Jan 01 00:00:00 1970 +0000
825 summary: add/edit more largefiles
825 summary: add/edit more largefiles
826
826
827 diff -r 4355d653f84f -r daea875e9014 .hglf/large3
827 diff -r 4355d653f84f -r daea875e9014 .hglf/large3
828 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
828 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
829 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
829 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
830 @@ -1,1 +0,0 @@
830 @@ -1,1 +0,0 @@
831 -7838695e10da2bb75ac1156565f40a2595fa2fa0
831 -7838695e10da2bb75ac1156565f40a2595fa2fa0
832 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large6
832 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large6
833 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
833 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
834 +++ b/.hglf/sub2/large6 Thu Jan 01 00:00:00 1970 +0000
834 +++ b/.hglf/sub2/large6 Thu Jan 01 00:00:00 1970 +0000
835 @@ -0,0 +1,1 @@
835 @@ -0,0 +1,1 @@
836 +0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30
836 +0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30
837 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large7
837 diff -r 4355d653f84f -r daea875e9014 .hglf/sub2/large7
838 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
838 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
839 +++ b/.hglf/sub2/large7 Thu Jan 01 00:00:00 1970 +0000
839 +++ b/.hglf/sub2/large7 Thu Jan 01 00:00:00 1970 +0000
840 @@ -0,0 +1,1 @@
840 @@ -0,0 +1,1 @@
841 +bb3151689acb10f0c3125c560d5e63df914bc1af
841 +bb3151689acb10f0c3125c560d5e63df914bc1af
842
842
843 changeset: 6:4355d653f84f
843 changeset: 6:4355d653f84f
844 user: test
844 user: test
845 date: Thu Jan 01 00:00:00 1970 +0000
845 date: Thu Jan 01 00:00:00 1970 +0000
846 summary: edit files yet again
846 summary: edit files yet again
847
847
848 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/large3
848 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/large3
849 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
849 --- a/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
850 +++ b/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
850 +++ b/.hglf/large3 Thu Jan 01 00:00:00 1970 +0000
851 @@ -1,1 +1,1 @@
851 @@ -1,1 +1,1 @@
852 -baaf12afde9d8d67f25dab6dced0d2bf77dba47c
852 -baaf12afde9d8d67f25dab6dced0d2bf77dba47c
853 +7838695e10da2bb75ac1156565f40a2595fa2fa0
853 +7838695e10da2bb75ac1156565f40a2595fa2fa0
854 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
854 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
855 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
855 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
856 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
856 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
857 @@ -1,1 +1,1 @@
857 @@ -1,1 +1,1 @@
858 -aeb2210d19f02886dde00dac279729a48471e2f9
858 -aeb2210d19f02886dde00dac279729a48471e2f9
859 +971fb41e78fea4f8e0ba5244784239371cb00591
859 +971fb41e78fea4f8e0ba5244784239371cb00591
860 diff -r 9d5af5072dbd -r 4355d653f84f normal3
860 diff -r 9d5af5072dbd -r 4355d653f84f normal3
861 --- a/normal3 Thu Jan 01 00:00:00 1970 +0000
861 --- a/normal3 Thu Jan 01 00:00:00 1970 +0000
862 +++ b/normal3 Thu Jan 01 00:00:00 1970 +0000
862 +++ b/normal3 Thu Jan 01 00:00:00 1970 +0000
863 @@ -1,1 +1,1 @@
863 @@ -1,1 +1,1 @@
864 -normal3
864 -normal3
865 +normal33
865 +normal33
866 diff -r 9d5af5072dbd -r 4355d653f84f sub/normal4
866 diff -r 9d5af5072dbd -r 4355d653f84f sub/normal4
867 --- a/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
867 --- a/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
868 +++ b/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
868 +++ b/sub/normal4 Thu Jan 01 00:00:00 1970 +0000
869 @@ -1,1 +1,1 @@
869 @@ -1,1 +1,1 @@
870 -normal4
870 -normal4
871 +normal44
871 +normal44
872
872
873 $ hg log --follow --patch sub/large4
873 $ hg log --follow --patch sub/large4
874 changeset: 6:4355d653f84f
874 changeset: 6:4355d653f84f
875 user: test
875 user: test
876 date: Thu Jan 01 00:00:00 1970 +0000
876 date: Thu Jan 01 00:00:00 1970 +0000
877 summary: edit files yet again
877 summary: edit files yet again
878
878
879 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
879 diff -r 9d5af5072dbd -r 4355d653f84f .hglf/sub/large4
880 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
880 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
881 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
881 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
882 @@ -1,1 +1,1 @@
882 @@ -1,1 +1,1 @@
883 -aeb2210d19f02886dde00dac279729a48471e2f9
883 -aeb2210d19f02886dde00dac279729a48471e2f9
884 +971fb41e78fea4f8e0ba5244784239371cb00591
884 +971fb41e78fea4f8e0ba5244784239371cb00591
885
885
886 changeset: 5:9d5af5072dbd
886 changeset: 5:9d5af5072dbd
887 user: test
887 user: test
888 date: Thu Jan 01 00:00:00 1970 +0000
888 date: Thu Jan 01 00:00:00 1970 +0000
889 summary: edit files again
889 summary: edit files again
890
890
891 diff -r 74c02385b94c -r 9d5af5072dbd .hglf/sub/large4
891 diff -r 74c02385b94c -r 9d5af5072dbd .hglf/sub/large4
892 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
892 --- a/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
893 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
893 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
894 @@ -1,1 +1,1 @@
894 @@ -1,1 +1,1 @@
895 -eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
895 -eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
896 +aeb2210d19f02886dde00dac279729a48471e2f9
896 +aeb2210d19f02886dde00dac279729a48471e2f9
897
897
898 changeset: 4:74c02385b94c
898 changeset: 4:74c02385b94c
899 user: test
899 user: test
900 date: Thu Jan 01 00:00:00 1970 +0000
900 date: Thu Jan 01 00:00:00 1970 +0000
901 summary: move files
901 summary: move files
902
902
903 diff -r 9e8fbc4bce62 -r 74c02385b94c .hglf/sub/large4
903 diff -r 9e8fbc4bce62 -r 74c02385b94c .hglf/sub/large4
904 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
904 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
905 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
905 +++ b/.hglf/sub/large4 Thu Jan 01 00:00:00 1970 +0000
906 @@ -0,0 +1,1 @@
906 @@ -0,0 +1,1 @@
907 +eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
907 +eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
908
908
909 changeset: 1:ce8896473775
909 changeset: 1:ce8896473775
910 user: test
910 user: test
911 date: Thu Jan 01 00:00:00 1970 +0000
911 date: Thu Jan 01 00:00:00 1970 +0000
912 summary: edit files
912 summary: edit files
913
913
914 diff -r 30d30fe6a5be -r ce8896473775 .hglf/sub/large2
914 diff -r 30d30fe6a5be -r ce8896473775 .hglf/sub/large2
915 --- a/.hglf/sub/large2 Thu Jan 01 00:00:00 1970 +0000
915 --- a/.hglf/sub/large2 Thu Jan 01 00:00:00 1970 +0000
916 +++ b/.hglf/sub/large2 Thu Jan 01 00:00:00 1970 +0000
916 +++ b/.hglf/sub/large2 Thu Jan 01 00:00:00 1970 +0000
917 @@ -1,1 +1,1 @@
917 @@ -1,1 +1,1 @@
918 -1deebade43c8c498a3c8daddac0244dc55d1331d
918 -1deebade43c8c498a3c8daddac0244dc55d1331d
919 +eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
919 +eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
920
920
921 changeset: 0:30d30fe6a5be
921 changeset: 0:30d30fe6a5be
922 user: test
922 user: test
923 date: Thu Jan 01 00:00:00 1970 +0000
923 date: Thu Jan 01 00:00:00 1970 +0000
924 summary: add files
924 summary: add files
925
925
926 diff -r 000000000000 -r 30d30fe6a5be .hglf/sub/large2
926 diff -r 000000000000 -r 30d30fe6a5be .hglf/sub/large2
927 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
927 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
928 +++ b/.hglf/sub/large2 Thu Jan 01 00:00:00 1970 +0000
928 +++ b/.hglf/sub/large2 Thu Jan 01 00:00:00 1970 +0000
929 @@ -0,0 +1,1 @@
929 @@ -0,0 +1,1 @@
930 +1deebade43c8c498a3c8daddac0244dc55d1331d
930 +1deebade43c8c498a3c8daddac0244dc55d1331d
931
931
932 $ cat sub/normal4
932 $ cat sub/normal4
933 normal44
933 normal44
934 $ cat sub/large4
934 $ cat sub/large4
935 large44
935 large44
936 $ cat sub2/large6
936 $ cat sub2/large6
937 large6
937 large6
938 $ cat sub2/large7
938 $ cat sub2/large7
939 large7
939 large7
940 $ hg log -qf sub2/large7
940 $ hg log -qf sub2/large7
941 7:daea875e9014
941 7:daea875e9014
942 $ hg log -Gqf sub2/large7
942 $ hg log -Gqf sub2/large7
943 @ 7:daea875e9014
943 @ 7:daea875e9014
944 |
944 |
945 ~
945 ~
946 $ cd ..
946 $ cd ..
947
947
948 Test log from outside repo
948 Test log from outside repo
949
949
950 $ hg log b/sub -T '{rev}:{node|short} {desc|firstline}\n'
950 $ hg log b/sub -T '{rev}:{node|short} {desc|firstline}\n'
951 6:4355d653f84f edit files yet again
951 6:4355d653f84f edit files yet again
952 5:9d5af5072dbd edit files again
952 5:9d5af5072dbd edit files again
953 4:74c02385b94c move files
953 4:74c02385b94c move files
954 1:ce8896473775 edit files
954 1:ce8896473775 edit files
955 0:30d30fe6a5be add files
955 0:30d30fe6a5be add files
956
956
957 Test clone at revision
957 Test clone at revision
958
958
959 $ hg clone a -r 3 c
959 $ hg clone a -r 3 c
960 adding changesets
960 adding changesets
961 adding manifests
961 adding manifests
962 adding file changes
962 adding file changes
963 added 4 changesets with 10 changes to 4 files
963 added 4 changesets with 10 changes to 4 files
964 new changesets 30d30fe6a5be:9e8fbc4bce62
964 new changesets 30d30fe6a5be:9e8fbc4bce62
965 updating to branch default
965 updating to branch default
966 getting changed largefiles
966 getting changed largefiles
967 2 largefiles updated, 0 removed
967 2 largefiles updated, 0 removed
968 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
968 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
969 $ cd c
969 $ cd c
970 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
970 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
971 3:9e8fbc4bce62 copy files
971 3:9e8fbc4bce62 copy files
972 2:51a0ae4d5864 remove files
972 2:51a0ae4d5864 remove files
973 1:ce8896473775 edit files
973 1:ce8896473775 edit files
974 0:30d30fe6a5be add files
974 0:30d30fe6a5be add files
975 $ cat normal1
975 $ cat normal1
976 normal22
976 normal22
977 $ cat large1
977 $ cat large1
978 large22
978 large22
979 $ cat sub/normal2
979 $ cat sub/normal2
980 normal22
980 normal22
981 $ cat sub/large2
981 $ cat sub/large2
982 large22
982 large22
983
983
984 Old revisions of a clone have correct largefiles content (this also
984 Old revisions of a clone have correct largefiles content (this also
985 tests update).
985 tests update).
986
986
987 $ hg update -r 1
987 $ hg update -r 1
988 getting changed largefiles
988 getting changed largefiles
989 1 largefiles updated, 0 removed
989 1 largefiles updated, 0 removed
990 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
990 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
991 $ cat large1
991 $ cat large1
992 large11
992 large11
993 $ cat sub/large2
993 $ cat sub/large2
994 large22
994 large22
995 $ cd ..
995 $ cd ..
996
996
997 Test cloning with --all-largefiles flag
997 Test cloning with --all-largefiles flag
998
998
999 $ rm "${USERCACHE}"/*
999 $ rm "${USERCACHE}"/*
1000 $ hg clone --all-largefiles a a-backup
1000 $ hg clone --all-largefiles a a-backup
1001 updating to branch default
1001 updating to branch default
1002 getting changed largefiles
1002 getting changed largefiles
1003 3 largefiles updated, 0 removed
1003 3 largefiles updated, 0 removed
1004 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1004 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1005 8 additional largefiles cached
1005 8 additional largefiles cached
1006
1006
1007 $ rm "${USERCACHE}"/*
1007 $ rm "${USERCACHE}"/*
1008 $ hg clone --all-largefiles -u 0 a a-clone0
1008 $ hg clone --all-largefiles -u 0 a a-clone0
1009 updating to branch default
1009 updating to branch default
1010 getting changed largefiles
1010 getting changed largefiles
1011 2 largefiles updated, 0 removed
1011 2 largefiles updated, 0 removed
1012 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1012 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1013 9 additional largefiles cached
1013 9 additional largefiles cached
1014 $ hg -R a-clone0 sum
1014 $ hg -R a-clone0 sum
1015 parent: 0:30d30fe6a5be
1015 parent: 0:30d30fe6a5be
1016 add files
1016 add files
1017 branch: default
1017 branch: default
1018 commit: (clean)
1018 commit: (clean)
1019 update: 7 new changesets (update)
1019 update: 7 new changesets (update)
1020 phases: 8 draft
1020 phases: 8 draft
1021
1021
1022 $ rm "${USERCACHE}"/*
1022 $ rm "${USERCACHE}"/*
1023 $ hg clone --all-largefiles -u 1 a a-clone1
1023 $ hg clone --all-largefiles -u 1 a a-clone1
1024 updating to branch default
1024 updating to branch default
1025 getting changed largefiles
1025 getting changed largefiles
1026 2 largefiles updated, 0 removed
1026 2 largefiles updated, 0 removed
1027 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1027 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1028 8 additional largefiles cached
1028 8 additional largefiles cached
1029 $ hg -R a-clone1 verify --large --lfa --lfc
1029 $ hg -R a-clone1 verify --large --lfa --lfc
1030 checking changesets
1030 checking changesets
1031 checking manifests
1031 checking manifests
1032 crosschecking files in changesets and manifests
1032 crosschecking files in changesets and manifests
1033 checking files
1033 checking files
1034 10 files, 8 changesets, 24 total revisions
1034 10 files, 8 changesets, 24 total revisions
1035 searching 8 changesets for largefiles
1035 searching 8 changesets for largefiles
1036 verified contents of 13 revisions of 6 largefiles
1036 verified contents of 13 revisions of 6 largefiles
1037 $ hg -R a-clone1 sum
1037 $ hg -R a-clone1 sum
1038 parent: 1:ce8896473775
1038 parent: 1:ce8896473775
1039 edit files
1039 edit files
1040 branch: default
1040 branch: default
1041 commit: (clean)
1041 commit: (clean)
1042 update: 6 new changesets (update)
1042 update: 6 new changesets (update)
1043 phases: 8 draft
1043 phases: 8 draft
1044
1044
1045 $ rm "${USERCACHE}"/*
1045 $ rm "${USERCACHE}"/*
1046 $ hg clone --all-largefiles -U a a-clone-u
1046 $ hg clone --all-largefiles -U a a-clone-u
1047 11 additional largefiles cached
1047 11 additional largefiles cached
1048 $ hg -R a-clone-u sum
1048 $ hg -R a-clone-u sum
1049 parent: -1:000000000000 (no revision checked out)
1049 parent: -1:000000000000 (no revision checked out)
1050 branch: default
1050 branch: default
1051 commit: (clean)
1051 commit: (clean)
1052 update: 8 new changesets (update)
1052 update: 8 new changesets (update)
1053 phases: 8 draft
1053 phases: 8 draft
1054
1054
1055 Show computed destination directory:
1055 Show computed destination directory:
1056
1056
1057 $ mkdir xyz
1057 $ mkdir xyz
1058 $ cd xyz
1058 $ cd xyz
1059 $ hg clone ../a
1059 $ hg clone ../a
1060 destination directory: a
1060 destination directory: a
1061 updating to branch default
1061 updating to branch default
1062 getting changed largefiles
1062 getting changed largefiles
1063 3 largefiles updated, 0 removed
1063 3 largefiles updated, 0 removed
1064 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1064 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1065 $ cd ..
1065 $ cd ..
1066
1066
1067 Clone URL without path:
1067 Clone URL without path:
1068
1068
1069 $ hg clone file://
1069 $ hg clone file://
1070 abort: repository / not found!
1070 abort: repository / not found!
1071 [255]
1071 [255]
1072
1072
1073 Ensure base clone command argument validation
1073 Ensure base clone command argument validation
1074
1074
1075 $ hg clone -U -u 0 a a-clone-failure
1075 $ hg clone -U -u 0 a a-clone-failure
1076 abort: cannot specify both --noupdate and --updaterev
1076 abort: cannot specify both --noupdate and --updaterev
1077 [255]
1077 [255]
1078
1078
1079 $ hg clone --all-largefiles a ssh://localhost/a
1079 $ hg clone --all-largefiles a ssh://localhost/a
1080 abort: --all-largefiles is incompatible with non-local destination ssh://localhost/a
1080 abort: --all-largefiles is incompatible with non-local destination ssh://localhost/a
1081 [255]
1081 [255]
1082
1082
1083 Test pulling with --all-largefiles flag. Also test that the largefiles are
1083 Test pulling with --all-largefiles flag. Also test that the largefiles are
1084 downloaded from 'default' instead of 'default-push' when no source is specified
1084 downloaded from 'default' instead of 'default-push' when no source is specified
1085 (issue3584)
1085 (issue3584)
1086
1086
1087 $ rm -Rf a-backup
1087 $ rm -Rf a-backup
1088 $ hg clone -r 1 a a-backup
1088 $ hg clone -r 1 a a-backup
1089 adding changesets
1089 adding changesets
1090 adding manifests
1090 adding manifests
1091 adding file changes
1091 adding file changes
1092 added 2 changesets with 8 changes to 4 files
1092 added 2 changesets with 8 changes to 4 files
1093 new changesets 30d30fe6a5be:ce8896473775
1093 new changesets 30d30fe6a5be:ce8896473775
1094 updating to branch default
1094 updating to branch default
1095 getting changed largefiles
1095 getting changed largefiles
1096 2 largefiles updated, 0 removed
1096 2 largefiles updated, 0 removed
1097 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1097 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1098 $ rm "${USERCACHE}"/*
1098 $ rm "${USERCACHE}"/*
1099 $ cd a-backup
1099 $ cd a-backup
1100 $ hg pull --all-largefiles --config paths.default-push=bogus/path
1100 $ hg pull --all-largefiles --config paths.default-push=bogus/path
1101 pulling from $TESTTMP/a
1101 pulling from $TESTTMP/a
1102 searching for changes
1102 searching for changes
1103 adding changesets
1103 adding changesets
1104 adding manifests
1104 adding manifests
1105 adding file changes
1105 adding file changes
1106 added 6 changesets with 16 changes to 8 files
1106 added 6 changesets with 16 changes to 8 files
1107 new changesets 51a0ae4d5864:daea875e9014
1107 new changesets 51a0ae4d5864:daea875e9014
1108 (run 'hg update' to get a working copy)
1108 (run 'hg update' to get a working copy)
1109 6 largefiles cached
1109 6 largefiles cached
1110
1110
1111 redo pull with --lfrev and check it pulls largefiles for the right revs
1111 redo pull with --lfrev and check it pulls largefiles for the right revs
1112
1112
1113 $ hg rollback
1113 $ hg rollback
1114 repository tip rolled back to revision 1 (undo pull)
1114 repository tip rolled back to revision 1 (undo pull)
1115 $ hg pull -v --lfrev 'heads(pulled())+min(pulled())'
1115 $ hg pull -v --lfrev 'heads(pulled())+min(pulled())'
1116 pulling from $TESTTMP/a
1116 pulling from $TESTTMP/a
1117 searching for changes
1117 searching for changes
1118 all local heads known remotely
1118 all local heads known remotely
1119 6 changesets found
1119 6 changesets found
1120 uncompressed size of bundle content:
1120 uncompressed size of bundle content:
1121 1389 (changelog)
1121 1389 (changelog)
1122 1599 (manifests)
1122 1599 (manifests)
1123 254 .hglf/large1
1123 254 .hglf/large1
1124 564 .hglf/large3
1124 564 .hglf/large3
1125 572 .hglf/sub/large4
1125 572 .hglf/sub/large4
1126 182 .hglf/sub2/large6
1126 182 .hglf/sub2/large6
1127 182 .hglf/sub2/large7
1127 182 .hglf/sub2/large7
1128 212 normal1
1128 212 normal1
1129 457 normal3
1129 457 normal3
1130 465 sub/normal4
1130 465 sub/normal4
1131 adding changesets
1131 adding changesets
1132 adding manifests
1132 adding manifests
1133 adding file changes
1133 adding file changes
1134 added 6 changesets with 16 changes to 8 files
1134 added 6 changesets with 16 changes to 8 files
1135 new changesets 51a0ae4d5864:daea875e9014
1135 new changesets 51a0ae4d5864:daea875e9014
1136 calling hook changegroup.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
1136 calling hook changegroup.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
1137 (run 'hg update' to get a working copy)
1137 (run 'hg update' to get a working copy)
1138 pulling largefiles for revision 7
1138 pulling largefiles for revision 7
1139 found 971fb41e78fea4f8e0ba5244784239371cb00591 in store
1139 found 971fb41e78fea4f8e0ba5244784239371cb00591 in store
1140 found 0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30 in store
1140 found 0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30 in store
1141 found bb3151689acb10f0c3125c560d5e63df914bc1af in store
1141 found bb3151689acb10f0c3125c560d5e63df914bc1af in store
1142 pulling largefiles for revision 2
1142 pulling largefiles for revision 2
1143 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1143 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1144 0 largefiles cached
1144 0 largefiles cached
1145
1145
1146 lfpull
1146 lfpull
1147
1147
1148 $ hg lfpull -r : --config largefiles.usercache=usercache-lfpull
1148 $ hg lfpull -r : --config largefiles.usercache=usercache-lfpull
1149 2 largefiles cached
1149 2 largefiles cached
1150 $ hg lfpull -v -r 4+2 --config largefiles.usercache=usercache-lfpull
1150 $ hg lfpull -v -r 4+2 --config largefiles.usercache=usercache-lfpull
1151 pulling largefiles for revision 4
1151 pulling largefiles for revision 4
1152 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1152 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1153 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1153 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1154 pulling largefiles for revision 2
1154 pulling largefiles for revision 2
1155 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1155 found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
1156 0 largefiles cached
1156 0 largefiles cached
1157
1157
1158 $ ls usercache-lfpull/* | sort
1158 $ ls usercache-lfpull/* | sort
1159 usercache-lfpull/1deebade43c8c498a3c8daddac0244dc55d1331d
1159 usercache-lfpull/1deebade43c8c498a3c8daddac0244dc55d1331d
1160 usercache-lfpull/4669e532d5b2c093a78eca010077e708a071bb64
1160 usercache-lfpull/4669e532d5b2c093a78eca010077e708a071bb64
1161
1161
1162 $ cd ..
1162 $ cd ..
1163
1163
1164 Rebasing between two repositories does not revert largefiles to old
1164 Rebasing between two repositories does not revert largefiles to old
1165 revisions (this was a very bad bug that took a lot of work to fix).
1165 revisions (this was a very bad bug that took a lot of work to fix).
1166
1166
1167 $ hg clone a d
1167 $ hg clone a d
1168 updating to branch default
1168 updating to branch default
1169 getting changed largefiles
1169 getting changed largefiles
1170 3 largefiles updated, 0 removed
1170 3 largefiles updated, 0 removed
1171 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1171 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1172 $ cd b
1172 $ cd b
1173 $ echo large4-modified > sub/large4
1173 $ echo large4-modified > sub/large4
1174 $ echo normal3-modified > normal3
1174 $ echo normal3-modified > normal3
1175 $ hg commit -m "modify normal file and largefile in repo b"
1175 $ hg commit -m "modify normal file and largefile in repo b"
1176 Invoking status precommit hook
1176 Invoking status precommit hook
1177 M normal3
1177 M normal3
1178 M sub/large4
1178 M sub/large4
1179 $ cd ../d
1179 $ cd ../d
1180 $ echo large6-modified > sub2/large6
1180 $ echo large6-modified > sub2/large6
1181 $ echo normal4-modified > sub/normal4
1181 $ echo normal4-modified > sub/normal4
1182 $ hg commit -m "modify normal file largefile in repo d"
1182 $ hg commit -m "modify normal file largefile in repo d"
1183 Invoking status precommit hook
1183 Invoking status precommit hook
1184 M sub/normal4
1184 M sub/normal4
1185 M sub2/large6
1185 M sub2/large6
1186 $ cd ..
1186 $ cd ..
1187 $ hg clone d e
1187 $ hg clone d e
1188 updating to branch default
1188 updating to branch default
1189 getting changed largefiles
1189 getting changed largefiles
1190 3 largefiles updated, 0 removed
1190 3 largefiles updated, 0 removed
1191 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1191 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1192 $ cd d
1192 $ cd d
1193
1193
1194 More rebase testing, but also test that the largefiles are downloaded from
1194 More rebase testing, but also test that the largefiles are downloaded from
1195 'default-push' when no source is specified (issue3584). (The largefile from the
1195 'default-push' when no source is specified (issue3584). (The largefile from the
1196 pulled revision is however not downloaded but found in the local cache.)
1196 pulled revision is however not downloaded but found in the local cache.)
1197 Largefiles are fetched for the new pulled revision, not for existing revisions,
1197 Largefiles are fetched for the new pulled revision, not for existing revisions,
1198 rebased or not.
1198 rebased or not.
1199
1199
1200 $ [ ! -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
1200 $ [ ! -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
1201 $ hg pull --rebase --all-largefiles --config paths.default-push=bogus/path --config paths.default=../b
1201 $ hg pull --rebase --all-largefiles --config paths.default-push=bogus/path --config paths.default=../b
1202 pulling from $TESTTMP/b
1202 pulling from $TESTTMP/b
1203 searching for changes
1203 searching for changes
1204 adding changesets
1204 adding changesets
1205 adding manifests
1205 adding manifests
1206 adding file changes
1206 adding file changes
1207 added 1 changesets with 2 changes to 2 files (+1 heads)
1207 added 1 changesets with 2 changes to 2 files (+1 heads)
1208 new changesets a381d2c8c80e
1208 new changesets a381d2c8c80e
1209 rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
1209 rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
1210 Invoking status precommit hook
1210 Invoking status precommit hook
1211 M sub/normal4
1211 M sub/normal4
1212 M sub2/large6
1212 M sub2/large6
1213 saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg
1213 saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg
1214 0 largefiles cached
1214 0 largefiles cached
1215 $ [ -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
1215 $ [ -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
1216 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1216 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1217 9:598410d3eb9a modify normal file largefile in repo d
1217 9:598410d3eb9a modify normal file largefile in repo d
1218 8:a381d2c8c80e modify normal file and largefile in repo b
1218 8:a381d2c8c80e modify normal file and largefile in repo b
1219 7:daea875e9014 add/edit more largefiles
1219 7:daea875e9014 add/edit more largefiles
1220 6:4355d653f84f edit files yet again
1220 6:4355d653f84f edit files yet again
1221 5:9d5af5072dbd edit files again
1221 5:9d5af5072dbd edit files again
1222 4:74c02385b94c move files
1222 4:74c02385b94c move files
1223 3:9e8fbc4bce62 copy files
1223 3:9e8fbc4bce62 copy files
1224 2:51a0ae4d5864 remove files
1224 2:51a0ae4d5864 remove files
1225 1:ce8896473775 edit files
1225 1:ce8896473775 edit files
1226 0:30d30fe6a5be add files
1226 0:30d30fe6a5be add files
1227 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n'
1227 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n'
1228 @ 9:598410d3eb9a modify normal file largefile in repo d
1228 @ 9:598410d3eb9a modify normal file largefile in repo d
1229 |
1229 |
1230 o 8:a381d2c8c80e modify normal file and largefile in repo b
1230 o 8:a381d2c8c80e modify normal file and largefile in repo b
1231 |
1231 |
1232 o 7:daea875e9014 add/edit more largefiles
1232 o 7:daea875e9014 add/edit more largefiles
1233 |
1233 |
1234 o 6:4355d653f84f edit files yet again
1234 o 6:4355d653f84f edit files yet again
1235 |
1235 |
1236 o 5:9d5af5072dbd edit files again
1236 o 5:9d5af5072dbd edit files again
1237 |
1237 |
1238 o 4:74c02385b94c move files
1238 o 4:74c02385b94c move files
1239 |
1239 |
1240 o 3:9e8fbc4bce62 copy files
1240 o 3:9e8fbc4bce62 copy files
1241 |
1241 |
1242 o 2:51a0ae4d5864 remove files
1242 o 2:51a0ae4d5864 remove files
1243 |
1243 |
1244 o 1:ce8896473775 edit files
1244 o 1:ce8896473775 edit files
1245 |
1245 |
1246 o 0:30d30fe6a5be add files
1246 o 0:30d30fe6a5be add files
1247
1247
1248 $ cat normal3
1248 $ cat normal3
1249 normal3-modified
1249 normal3-modified
1250 $ cat sub/normal4
1250 $ cat sub/normal4
1251 normal4-modified
1251 normal4-modified
1252 $ cat sub/large4
1252 $ cat sub/large4
1253 large4-modified
1253 large4-modified
1254 $ cat sub2/large6
1254 $ cat sub2/large6
1255 large6-modified
1255 large6-modified
1256 $ cat sub2/large7
1256 $ cat sub2/large7
1257 large7
1257 large7
1258 $ cd ../e
1258 $ cd ../e
1259 $ hg pull ../b
1259 $ hg pull ../b
1260 pulling from ../b
1260 pulling from ../b
1261 searching for changes
1261 searching for changes
1262 adding changesets
1262 adding changesets
1263 adding manifests
1263 adding manifests
1264 adding file changes
1264 adding file changes
1265 added 1 changesets with 2 changes to 2 files (+1 heads)
1265 added 1 changesets with 2 changes to 2 files (+1 heads)
1266 new changesets a381d2c8c80e
1266 new changesets a381d2c8c80e
1267 (run 'hg heads' to see heads, 'hg merge' to merge)
1267 (run 'hg heads' to see heads, 'hg merge' to merge)
1268 $ hg rebase
1268 $ hg rebase
1269 rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
1269 rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
1270 Invoking status precommit hook
1270 Invoking status precommit hook
1271 M sub/normal4
1271 M sub/normal4
1272 M sub2/large6
1272 M sub2/large6
1273 saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg
1273 saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg
1274 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1274 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1275 9:598410d3eb9a modify normal file largefile in repo d
1275 9:598410d3eb9a modify normal file largefile in repo d
1276 8:a381d2c8c80e modify normal file and largefile in repo b
1276 8:a381d2c8c80e modify normal file and largefile in repo b
1277 7:daea875e9014 add/edit more largefiles
1277 7:daea875e9014 add/edit more largefiles
1278 6:4355d653f84f edit files yet again
1278 6:4355d653f84f edit files yet again
1279 5:9d5af5072dbd edit files again
1279 5:9d5af5072dbd edit files again
1280 4:74c02385b94c move files
1280 4:74c02385b94c move files
1281 3:9e8fbc4bce62 copy files
1281 3:9e8fbc4bce62 copy files
1282 2:51a0ae4d5864 remove files
1282 2:51a0ae4d5864 remove files
1283 1:ce8896473775 edit files
1283 1:ce8896473775 edit files
1284 0:30d30fe6a5be add files
1284 0:30d30fe6a5be add files
1285 $ cat normal3
1285 $ cat normal3
1286 normal3-modified
1286 normal3-modified
1287 $ cat sub/normal4
1287 $ cat sub/normal4
1288 normal4-modified
1288 normal4-modified
1289 $ cat sub/large4
1289 $ cat sub/large4
1290 large4-modified
1290 large4-modified
1291 $ cat sub2/large6
1291 $ cat sub2/large6
1292 large6-modified
1292 large6-modified
1293 $ cat sub2/large7
1293 $ cat sub2/large7
1294 large7
1294 large7
1295
1295
1296 Log on largefiles
1296 Log on largefiles
1297
1297
1298 - same output
1298 - same output
1299 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub/large4
1299 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub/large4
1300 8:a381d2c8c80e modify normal file and largefile in repo b
1300 8:a381d2c8c80e modify normal file and largefile in repo b
1301 6:4355d653f84f edit files yet again
1301 6:4355d653f84f edit files yet again
1302 5:9d5af5072dbd edit files again
1302 5:9d5af5072dbd edit files again
1303 4:74c02385b94c move files
1303 4:74c02385b94c move files
1304 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub/large4
1304 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub/large4
1305 o 8:a381d2c8c80e modify normal file and largefile in repo b
1305 o 8:a381d2c8c80e modify normal file and largefile in repo b
1306 :
1306 :
1307 o 6:4355d653f84f edit files yet again
1307 o 6:4355d653f84f edit files yet again
1308 |
1308 |
1309 o 5:9d5af5072dbd edit files again
1309 o 5:9d5af5072dbd edit files again
1310 |
1310 |
1311 o 4:74c02385b94c move files
1311 o 4:74c02385b94c move files
1312 |
1312 |
1313 ~
1313 ~
1314 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' sub/large4
1314 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' sub/large4
1315 8:a381d2c8c80e modify normal file and largefile in repo b
1315 8:a381d2c8c80e modify normal file and largefile in repo b
1316 6:4355d653f84f edit files yet again
1316 6:4355d653f84f edit files yet again
1317 5:9d5af5072dbd edit files again
1317 5:9d5af5072dbd edit files again
1318 4:74c02385b94c move files
1318 4:74c02385b94c move files
1319 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub/large4
1319 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub/large4
1320 o 8:a381d2c8c80e modify normal file and largefile in repo b
1320 o 8:a381d2c8c80e modify normal file and largefile in repo b
1321 :
1321 :
1322 o 6:4355d653f84f edit files yet again
1322 o 6:4355d653f84f edit files yet again
1323 |
1323 |
1324 o 5:9d5af5072dbd edit files again
1324 o 5:9d5af5072dbd edit files again
1325 |
1325 |
1326 o 4:74c02385b94c move files
1326 o 4:74c02385b94c move files
1327 |
1327 |
1328 ~
1328 ~
1329
1329
1330 - .hglf only matches largefiles, without .hglf it matches 9 bco sub/normal
1330 - .hglf only matches largefiles, without .hglf it matches 9 bco sub/normal
1331 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub
1331 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub
1332 8:a381d2c8c80e modify normal file and largefile in repo b
1332 8:a381d2c8c80e modify normal file and largefile in repo b
1333 6:4355d653f84f edit files yet again
1333 6:4355d653f84f edit files yet again
1334 5:9d5af5072dbd edit files again
1334 5:9d5af5072dbd edit files again
1335 4:74c02385b94c move files
1335 4:74c02385b94c move files
1336 1:ce8896473775 edit files
1336 1:ce8896473775 edit files
1337 0:30d30fe6a5be add files
1337 0:30d30fe6a5be add files
1338 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub
1338 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' .hglf/sub
1339 o 8:a381d2c8c80e modify normal file and largefile in repo b
1339 o 8:a381d2c8c80e modify normal file and largefile in repo b
1340 :
1340 :
1341 o 6:4355d653f84f edit files yet again
1341 o 6:4355d653f84f edit files yet again
1342 |
1342 |
1343 o 5:9d5af5072dbd edit files again
1343 o 5:9d5af5072dbd edit files again
1344 |
1344 |
1345 o 4:74c02385b94c move files
1345 o 4:74c02385b94c move files
1346 :
1346 :
1347 o 1:ce8896473775 edit files
1347 o 1:ce8896473775 edit files
1348 |
1348 |
1349 o 0:30d30fe6a5be add files
1349 o 0:30d30fe6a5be add files
1350
1350
1351 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' sub
1351 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' sub
1352 9:598410d3eb9a modify normal file largefile in repo d
1352 9:598410d3eb9a modify normal file largefile in repo d
1353 8:a381d2c8c80e modify normal file and largefile in repo b
1353 8:a381d2c8c80e modify normal file and largefile in repo b
1354 6:4355d653f84f edit files yet again
1354 6:4355d653f84f edit files yet again
1355 5:9d5af5072dbd edit files again
1355 5:9d5af5072dbd edit files again
1356 4:74c02385b94c move files
1356 4:74c02385b94c move files
1357 1:ce8896473775 edit files
1357 1:ce8896473775 edit files
1358 0:30d30fe6a5be add files
1358 0:30d30fe6a5be add files
1359 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' sub
1359 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' sub
1360 @ 9:598410d3eb9a modify normal file largefile in repo d
1360 @ 9:598410d3eb9a modify normal file largefile in repo d
1361 |
1361 |
1362 o 8:a381d2c8c80e modify normal file and largefile in repo b
1362 o 8:a381d2c8c80e modify normal file and largefile in repo b
1363 :
1363 :
1364 o 6:4355d653f84f edit files yet again
1364 o 6:4355d653f84f edit files yet again
1365 |
1365 |
1366 o 5:9d5af5072dbd edit files again
1366 o 5:9d5af5072dbd edit files again
1367 |
1367 |
1368 o 4:74c02385b94c move files
1368 o 4:74c02385b94c move files
1369 :
1369 :
1370 o 1:ce8896473775 edit files
1370 o 1:ce8896473775 edit files
1371 |
1371 |
1372 o 0:30d30fe6a5be add files
1372 o 0:30d30fe6a5be add files
1373
1373
1374 - globbing gives same result
1374 - globbing gives same result
1375 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' 'glob:sub/*'
1375 $ hg log --template '{rev}:{node|short} {desc|firstline}\n' 'glob:sub/*'
1376 9:598410d3eb9a modify normal file largefile in repo d
1376 9:598410d3eb9a modify normal file largefile in repo d
1377 8:a381d2c8c80e modify normal file and largefile in repo b
1377 8:a381d2c8c80e modify normal file and largefile in repo b
1378 6:4355d653f84f edit files yet again
1378 6:4355d653f84f edit files yet again
1379 5:9d5af5072dbd edit files again
1379 5:9d5af5072dbd edit files again
1380 4:74c02385b94c move files
1380 4:74c02385b94c move files
1381 1:ce8896473775 edit files
1381 1:ce8896473775 edit files
1382 0:30d30fe6a5be add files
1382 0:30d30fe6a5be add files
1383 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' 'glob:sub/*'
1383 $ hg log -G --template '{rev}:{node|short} {desc|firstline}\n' 'glob:sub/*'
1384 @ 9:598410d3eb9a modify normal file largefile in repo d
1384 @ 9:598410d3eb9a modify normal file largefile in repo d
1385 |
1385 |
1386 o 8:a381d2c8c80e modify normal file and largefile in repo b
1386 o 8:a381d2c8c80e modify normal file and largefile in repo b
1387 :
1387 :
1388 o 6:4355d653f84f edit files yet again
1388 o 6:4355d653f84f edit files yet again
1389 |
1389 |
1390 o 5:9d5af5072dbd edit files again
1390 o 5:9d5af5072dbd edit files again
1391 |
1391 |
1392 o 4:74c02385b94c move files
1392 o 4:74c02385b94c move files
1393 :
1393 :
1394 o 1:ce8896473775 edit files
1394 o 1:ce8896473775 edit files
1395 |
1395 |
1396 o 0:30d30fe6a5be add files
1396 o 0:30d30fe6a5be add files
1397
1397
1398 Rollback on largefiles.
1398 Rollback on largefiles.
1399
1399
1400 $ echo large4-modified-again > sub/large4
1400 $ echo large4-modified-again > sub/large4
1401 $ hg commit -m "Modify large4 again"
1401 $ hg commit -m "Modify large4 again"
1402 Invoking status precommit hook
1402 Invoking status precommit hook
1403 M sub/large4
1403 M sub/large4
1404 $ hg rollback
1404 $ hg rollback
1405 repository tip rolled back to revision 9 (undo commit)
1405 repository tip rolled back to revision 9 (undo commit)
1406 working directory now based on revision 9
1406 working directory now based on revision 9
1407 $ hg st
1407 $ hg st
1408 M sub/large4
1408 M sub/large4
1409 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1409 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1410 9:598410d3eb9a modify normal file largefile in repo d
1410 9:598410d3eb9a modify normal file largefile in repo d
1411 8:a381d2c8c80e modify normal file and largefile in repo b
1411 8:a381d2c8c80e modify normal file and largefile in repo b
1412 7:daea875e9014 add/edit more largefiles
1412 7:daea875e9014 add/edit more largefiles
1413 6:4355d653f84f edit files yet again
1413 6:4355d653f84f edit files yet again
1414 5:9d5af5072dbd edit files again
1414 5:9d5af5072dbd edit files again
1415 4:74c02385b94c move files
1415 4:74c02385b94c move files
1416 3:9e8fbc4bce62 copy files
1416 3:9e8fbc4bce62 copy files
1417 2:51a0ae4d5864 remove files
1417 2:51a0ae4d5864 remove files
1418 1:ce8896473775 edit files
1418 1:ce8896473775 edit files
1419 0:30d30fe6a5be add files
1419 0:30d30fe6a5be add files
1420 $ cat sub/large4
1420 $ cat sub/large4
1421 large4-modified-again
1421 large4-modified-again
1422
1422
1423 "update --check" refuses to update with uncommitted changes.
1423 "update --check" refuses to update with uncommitted changes.
1424 $ hg update --check 8
1424 $ hg update --check 8
1425 abort: uncommitted changes
1425 abort: uncommitted changes
1426 [255]
1426 [255]
1427
1427
1428 "update --clean" leaves correct largefiles in working copy, even when there is
1428 "update --clean" leaves correct largefiles in working copy, even when there is
1429 .orig files from revert in .hglf.
1429 .orig files from revert in .hglf.
1430
1430
1431 $ echo mistake > sub2/large7
1431 $ echo mistake > sub2/large7
1432 $ hg revert sub2/large7
1432 $ hg revert sub2/large7
1433 $ cat sub2/large7
1433 $ cat sub2/large7
1434 large7
1434 large7
1435 $ cat sub2/large7.orig
1435 $ cat sub2/large7.orig
1436 mistake
1436 mistake
1437 $ test ! -f .hglf/sub2/large7.orig
1437 $ test ! -f .hglf/sub2/large7.orig
1438
1438
1439 $ hg -q update --clean -r null
1439 $ hg -q update --clean -r null
1440 $ hg update --clean
1440 $ hg update --clean
1441 getting changed largefiles
1441 getting changed largefiles
1442 3 largefiles updated, 0 removed
1442 3 largefiles updated, 0 removed
1443 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1443 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1444 $ cat normal3
1444 $ cat normal3
1445 normal3-modified
1445 normal3-modified
1446 $ cat sub/normal4
1446 $ cat sub/normal4
1447 normal4-modified
1447 normal4-modified
1448 $ cat sub/large4
1448 $ cat sub/large4
1449 large4-modified
1449 large4-modified
1450 $ cat sub2/large6
1450 $ cat sub2/large6
1451 large6-modified
1451 large6-modified
1452 $ cat sub2/large7
1452 $ cat sub2/large7
1453 large7
1453 large7
1454 $ cat sub2/large7.orig
1454 $ cat sub2/large7.orig
1455 mistake
1455 mistake
1456 $ test ! -f .hglf/sub2/large7.orig
1456 $ test ! -f .hglf/sub2/large7.orig
1457
1457
1458 verify that largefile .orig file no longer is overwritten on every update -C:
1458 verify that largefile .orig file no longer is overwritten on every update -C:
1459 $ hg update --clean
1459 $ hg update --clean
1460 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1460 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1461 $ cat sub2/large7.orig
1461 $ cat sub2/large7.orig
1462 mistake
1462 mistake
1463 $ rm sub2/large7.orig
1463 $ rm sub2/large7.orig
1464
1464
1465 Now "update check" is happy.
1465 Now "update check" is happy.
1466 $ hg update --check 8
1466 $ hg update --check 8
1467 getting changed largefiles
1467 getting changed largefiles
1468 1 largefiles updated, 0 removed
1468 1 largefiles updated, 0 removed
1469 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1469 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1470 $ hg update --check
1470 $ hg update --check
1471 getting changed largefiles
1471 getting changed largefiles
1472 1 largefiles updated, 0 removed
1472 1 largefiles updated, 0 removed
1473 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1473 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1474
1474
1475 Test removing empty largefiles directories on update
1475 Test removing empty largefiles directories on update
1476 $ test -d sub2 && echo "sub2 exists"
1476 $ test -d sub2 && echo "sub2 exists"
1477 sub2 exists
1477 sub2 exists
1478 $ hg update -q null
1478 $ hg update -q null
1479 $ test -d sub2 && echo "error: sub2 should not exist anymore"
1479 $ test -d sub2 && echo "error: sub2 should not exist anymore"
1480 [1]
1480 [1]
1481 $ hg update -q
1481 $ hg update -q
1482
1482
1483 Test hg remove removes empty largefiles directories
1483 Test hg remove removes empty largefiles directories
1484 $ test -d sub2 && echo "sub2 exists"
1484 $ test -d sub2 && echo "sub2 exists"
1485 sub2 exists
1485 sub2 exists
1486 $ hg remove sub2/*
1486 $ hg remove sub2/*
1487 $ test -d sub2 && echo "error: sub2 should not exist anymore"
1487 $ test -d sub2 && echo "error: sub2 should not exist anymore"
1488 [1]
1488 [1]
1489 $ hg revert sub2/large6 sub2/large7
1489 $ hg revert sub2/large6 sub2/large7
1490
1490
1491 "revert" works on largefiles (and normal files too).
1491 "revert" works on largefiles (and normal files too).
1492 $ echo hack3 >> normal3
1492 $ echo hack3 >> normal3
1493 $ echo hack4 >> sub/normal4
1493 $ echo hack4 >> sub/normal4
1494 $ echo hack4 >> sub/large4
1494 $ echo hack4 >> sub/large4
1495 $ rm sub2/large6
1495 $ rm sub2/large6
1496 $ hg revert sub2/large6
1496 $ hg revert sub2/large6
1497 $ hg rm sub2/large6
1497 $ hg rm sub2/large6
1498 $ echo new >> sub2/large8
1498 $ echo new >> sub2/large8
1499 $ hg add --large sub2/large8
1499 $ hg add --large sub2/large8
1500 # XXX we don't really want to report that we're reverting the standin;
1500 # XXX we don't really want to report that we're reverting the standin;
1501 # that's just an implementation detail. But I don't see an obvious fix. ;-(
1501 # that's just an implementation detail. But I don't see an obvious fix. ;-(
1502 $ hg revert sub
1502 $ hg revert sub
1503 reverting .hglf/sub/large4
1503 reverting .hglf/sub/large4
1504 reverting sub/normal4
1504 reverting sub/normal4
1505 $ hg status
1505 $ hg status
1506 M normal3
1506 M normal3
1507 A sub2/large8
1507 A sub2/large8
1508 R sub2/large6
1508 R sub2/large6
1509 ? sub/large4.orig
1509 ? sub/large4.orig
1510 ? sub/normal4.orig
1510 ? sub/normal4.orig
1511 $ cat sub/normal4
1511 $ cat sub/normal4
1512 normal4-modified
1512 normal4-modified
1513 $ cat sub/large4
1513 $ cat sub/large4
1514 large4-modified
1514 large4-modified
1515 $ hg revert -a --no-backup
1515 $ hg revert -a --no-backup
1516 undeleting .hglf/sub2/large6
1516 undeleting .hglf/sub2/large6
1517 forgetting .hglf/sub2/large8
1517 forgetting .hglf/sub2/large8
1518 reverting normal3
1518 reverting normal3
1519 $ hg status
1519 $ hg status
1520 ? sub/large4.orig
1520 ? sub/large4.orig
1521 ? sub/normal4.orig
1521 ? sub/normal4.orig
1522 ? sub2/large8
1522 ? sub2/large8
1523 $ cat normal3
1523 $ cat normal3
1524 normal3-modified
1524 normal3-modified
1525 $ cat sub2/large6
1525 $ cat sub2/large6
1526 large6-modified
1526 large6-modified
1527 $ rm sub/*.orig sub2/large8
1527 $ rm sub/*.orig sub2/large8
1528
1528
1529 revert some files to an older revision
1529 revert some files to an older revision
1530 $ hg revert --no-backup -r 8 sub2
1530 $ hg revert --no-backup -r 8 sub2
1531 reverting .hglf/sub2/large6
1531 reverting .hglf/sub2/large6
1532 $ cat sub2/large6
1532 $ cat sub2/large6
1533 large6
1533 large6
1534 $ hg revert --no-backup -C -r '.^' sub2
1534 $ hg revert --no-backup -C -r '.^' sub2
1535 $ hg revert --no-backup sub2
1535 $ hg revert --no-backup sub2
1536 reverting .hglf/sub2/large6
1536 reverting .hglf/sub2/large6
1537 $ hg status
1537 $ hg status
1538
1538
1539 "verify --large" actually verifies largefiles
1539 "verify --large" actually verifies largefiles
1540
1540
1541 - Where Do We Come From? What Are We? Where Are We Going?
1541 - Where Do We Come From? What Are We? Where Are We Going?
1542 $ pwd
1542 $ pwd
1543 $TESTTMP/e
1543 $TESTTMP/e
1544 $ hg paths
1544 $ hg paths
1545 default = $TESTTMP/d
1545 default = $TESTTMP/d
1546
1546
1547 $ hg verify --large
1547 $ hg verify --large
1548 checking changesets
1548 checking changesets
1549 checking manifests
1549 checking manifests
1550 crosschecking files in changesets and manifests
1550 crosschecking files in changesets and manifests
1551 checking files
1551 checking files
1552 10 files, 10 changesets, 28 total revisions
1552 10 files, 10 changesets, 28 total revisions
1553 searching 1 changesets for largefiles
1553 searching 1 changesets for largefiles
1554 verified existence of 3 revisions of 3 largefiles
1554 verified existence of 3 revisions of 3 largefiles
1555
1555
1556 - introduce missing blob in local store repo and remote store
1556 - introduce missing blob in local store repo and remote store
1557 and make sure that this is caught:
1557 and make sure that this is caught:
1558
1558
1559 $ mv $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 .
1559 $ mv $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 .
1560 $ rm .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1560 $ rm .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1561 $ hg verify --large
1561 $ hg verify --large
1562 checking changesets
1562 checking changesets
1563 checking manifests
1563 checking manifests
1564 crosschecking files in changesets and manifests
1564 crosschecking files in changesets and manifests
1565 checking files
1565 checking files
1566 10 files, 10 changesets, 28 total revisions
1566 10 files, 10 changesets, 28 total revisions
1567 searching 1 changesets for largefiles
1567 searching 1 changesets for largefiles
1568 changeset 9:598410d3eb9a: sub/large4 references missing $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1568 changeset 9:598410d3eb9a: sub/large4 references missing $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1569 verified existence of 3 revisions of 3 largefiles
1569 verified existence of 3 revisions of 3 largefiles
1570 [1]
1570 [1]
1571
1571
1572 - introduce corruption and make sure that it is caught when checking content:
1572 - introduce corruption and make sure that it is caught when checking content:
1573 $ echo '5 cents' > $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1573 $ echo '5 cents' > $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1574 $ hg verify -q --large --lfc
1574 $ hg verify -q --large --lfc
1575 changeset 9:598410d3eb9a: sub/large4 references corrupted $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1575 changeset 9:598410d3eb9a: sub/large4 references corrupted $TESTTMP/d/.hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928
1576 [1]
1576 [1]
1577
1577
1578 - cleanup
1578 - cleanup
1579 $ cp e166e74c7303192238d60af5a9c4ce9bef0b7928 $TESTTMP/d/.hg/largefiles/
1579 $ cp e166e74c7303192238d60af5a9c4ce9bef0b7928 $TESTTMP/d/.hg/largefiles/
1580 $ mv e166e74c7303192238d60af5a9c4ce9bef0b7928 .hg/largefiles/
1580 $ mv e166e74c7303192238d60af5a9c4ce9bef0b7928 .hg/largefiles/
1581
1581
1582 - verifying all revisions will fail because we didn't clone all largefiles to d:
1582 - verifying all revisions will fail because we didn't clone all largefiles to d:
1583 $ echo 'T-shirt' > $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1583 $ echo 'T-shirt' > $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1584 $ hg verify -q --lfa --lfc
1584 $ hg verify -q --lfa --lfc
1585 changeset 0:30d30fe6a5be: large1 references missing $TESTTMP/d/.hg/largefiles/4669e532d5b2c093a78eca010077e708a071bb64
1585 changeset 0:30d30fe6a5be: large1 references missing $TESTTMP/d/.hg/largefiles/4669e532d5b2c093a78eca010077e708a071bb64
1586 changeset 0:30d30fe6a5be: sub/large2 references missing $TESTTMP/d/.hg/largefiles/1deebade43c8c498a3c8daddac0244dc55d1331d
1586 changeset 0:30d30fe6a5be: sub/large2 references missing $TESTTMP/d/.hg/largefiles/1deebade43c8c498a3c8daddac0244dc55d1331d
1587 changeset 1:ce8896473775: large1 references missing $TESTTMP/d/.hg/largefiles/5f78770c0e77ba4287ad6ef3071c9bf9c379742f
1587 changeset 1:ce8896473775: large1 references missing $TESTTMP/d/.hg/largefiles/5f78770c0e77ba4287ad6ef3071c9bf9c379742f
1588 changeset 1:ce8896473775: sub/large2 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1588 changeset 1:ce8896473775: sub/large2 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1589 changeset 3:9e8fbc4bce62: large1 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1589 changeset 3:9e8fbc4bce62: large1 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1590 changeset 4:74c02385b94c: large3 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1590 changeset 4:74c02385b94c: large3 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1591 changeset 4:74c02385b94c: sub/large4 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1591 changeset 4:74c02385b94c: sub/large4 references corrupted $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1592 changeset 5:9d5af5072dbd: large3 references missing $TESTTMP/d/.hg/largefiles/baaf12afde9d8d67f25dab6dced0d2bf77dba47c
1592 changeset 5:9d5af5072dbd: large3 references missing $TESTTMP/d/.hg/largefiles/baaf12afde9d8d67f25dab6dced0d2bf77dba47c
1593 changeset 5:9d5af5072dbd: sub/large4 references missing $TESTTMP/d/.hg/largefiles/aeb2210d19f02886dde00dac279729a48471e2f9
1593 changeset 5:9d5af5072dbd: sub/large4 references missing $TESTTMP/d/.hg/largefiles/aeb2210d19f02886dde00dac279729a48471e2f9
1594 changeset 6:4355d653f84f: large3 references missing $TESTTMP/d/.hg/largefiles/7838695e10da2bb75ac1156565f40a2595fa2fa0
1594 changeset 6:4355d653f84f: large3 references missing $TESTTMP/d/.hg/largefiles/7838695e10da2bb75ac1156565f40a2595fa2fa0
1595 [1]
1595 [1]
1596
1596
1597 - cleanup
1597 - cleanup
1598 $ rm $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1598 $ rm $TESTTMP/d/.hg/largefiles/eb7338044dc27f9bc59b8dd5a246b065ead7a9c4
1599 $ rm -f .hglf/sub/*.orig
1599 $ rm -f .hglf/sub/*.orig
1600
1600
1601 Update to revision with missing largefile - and make sure it really is missing
1601 Update to revision with missing largefile - and make sure it really is missing
1602
1602
1603 $ rm ${USERCACHE}/7838695e10da2bb75ac1156565f40a2595fa2fa0
1603 $ rm ${USERCACHE}/7838695e10da2bb75ac1156565f40a2595fa2fa0
1604 $ hg up -r 6
1604 $ hg up -r 6
1605 getting changed largefiles
1605 getting changed largefiles
1606 large3: largefile 7838695e10da2bb75ac1156565f40a2595fa2fa0 not available from file:/*/$TESTTMP/d (glob)
1606 large3: largefile 7838695e10da2bb75ac1156565f40a2595fa2fa0 not available from file:/*/$TESTTMP/d (glob)
1607 1 largefiles updated, 2 removed
1607 1 largefiles updated, 2 removed
1608 4 files updated, 0 files merged, 2 files removed, 0 files unresolved
1608 4 files updated, 0 files merged, 2 files removed, 0 files unresolved
1609 $ rm normal3
1609 $ rm normal3
1610 $ echo >> sub/normal4
1610 $ echo >> sub/normal4
1611 $ hg ci -m 'commit with missing files'
1611 $ hg ci -m 'commit with missing files'
1612 Invoking status precommit hook
1612 Invoking status precommit hook
1613 M sub/normal4
1613 M sub/normal4
1614 ! large3
1614 ! large3
1615 ! normal3
1615 ! normal3
1616 created new head
1616 created new head
1617 $ hg st
1617 $ hg st
1618 ! large3
1618 ! large3
1619 ! normal3
1619 ! normal3
1620 $ hg up -r.
1620 $ hg up -r.
1621 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1621 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1622 $ hg st
1622 $ hg st
1623 ! large3
1623 ! large3
1624 ! normal3
1624 ! normal3
1625 $ hg up -Cr.
1625 $ hg up -Cr.
1626 getting changed largefiles
1626 getting changed largefiles
1627 large3: largefile 7838695e10da2bb75ac1156565f40a2595fa2fa0 not available from file:/*/$TESTTMP/d (glob)
1627 large3: largefile 7838695e10da2bb75ac1156565f40a2595fa2fa0 not available from file:/*/$TESTTMP/d (glob)
1628 0 largefiles updated, 0 removed
1628 0 largefiles updated, 0 removed
1629 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1629 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1630 $ hg st
1630 $ hg st
1631 ! large3
1631 ! large3
1632 $ hg rollback
1632 $ hg rollback
1633 repository tip rolled back to revision 9 (undo commit)
1633 repository tip rolled back to revision 9 (undo commit)
1634 working directory now based on revision 6
1634 working directory now based on revision 6
1635
1635
1636 Merge with revision with missing largefile - and make sure it tries to fetch it.
1636 Merge with revision with missing largefile - and make sure it tries to fetch it.
1637
1637
1638 $ hg up -Cqr null
1638 $ hg up -Cqr null
1639 $ echo f > f
1639 $ echo f > f
1640 $ hg ci -Am branch
1640 $ hg ci -Am branch
1641 adding f
1641 adding f
1642 Invoking status precommit hook
1642 Invoking status precommit hook
1643 A f
1643 A f
1644 created new head
1644 created new head
1645 $ hg merge -r 6
1645 $ hg merge -r 6
1646 getting changed largefiles
1646 getting changed largefiles
1647 large3: largefile 7838695e10da2bb75ac1156565f40a2595fa2fa0 not available from file:/*/$TESTTMP/d (glob)
1647 large3: largefile 7838695e10da2bb75ac1156565f40a2595fa2fa0 not available from file:/*/$TESTTMP/d (glob)
1648 1 largefiles updated, 0 removed
1648 1 largefiles updated, 0 removed
1649 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1649 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
1650 (branch merge, don't forget to commit)
1650 (branch merge, don't forget to commit)
1651
1651
1652 $ hg rollback -q
1652 $ hg rollback -q
1653 $ hg up -Cq
1653 $ hg up -Cq
1654
1654
1655 Pulling 0 revisions with --all-largefiles should not fetch for all revisions
1655 Pulling 0 revisions with --all-largefiles should not fetch for all revisions
1656
1656
1657 $ hg pull --all-largefiles
1657 $ hg pull --all-largefiles
1658 pulling from $TESTTMP/d
1658 pulling from $TESTTMP/d
1659 searching for changes
1659 searching for changes
1660 no changes found
1660 no changes found
1661
1661
1662 Merging does not revert to old versions of largefiles and also check
1662 Merging does not revert to old versions of largefiles and also check
1663 that merging after having pulled from a non-default remote works
1663 that merging after having pulled from a non-default remote works
1664 correctly.
1664 correctly.
1665
1665
1666 $ cd ..
1666 $ cd ..
1667 $ hg clone -r 7 e temp
1667 $ hg clone -r 7 e temp
1668 adding changesets
1668 adding changesets
1669 adding manifests
1669 adding manifests
1670 adding file changes
1670 adding file changes
1671 added 8 changesets with 24 changes to 10 files
1671 added 8 changesets with 24 changes to 10 files
1672 new changesets 30d30fe6a5be:daea875e9014
1672 new changesets 30d30fe6a5be:daea875e9014
1673 updating to branch default
1673 updating to branch default
1674 getting changed largefiles
1674 getting changed largefiles
1675 3 largefiles updated, 0 removed
1675 3 largefiles updated, 0 removed
1676 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1676 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1677 $ hg clone temp f
1677 $ hg clone temp f
1678 updating to branch default
1678 updating to branch default
1679 getting changed largefiles
1679 getting changed largefiles
1680 3 largefiles updated, 0 removed
1680 3 largefiles updated, 0 removed
1681 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1681 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1682 # Delete the largefiles in the largefiles system cache so that we have an
1682 # Delete the largefiles in the largefiles system cache so that we have an
1683 # opportunity to test that caching after a pull works.
1683 # opportunity to test that caching after a pull works.
1684 $ rm "${USERCACHE}"/*
1684 $ rm "${USERCACHE}"/*
1685 $ cd f
1685 $ cd f
1686 $ echo "large4-merge-test" > sub/large4
1686 $ echo "large4-merge-test" > sub/large4
1687 $ hg commit -m "Modify large4 to test merge"
1687 $ hg commit -m "Modify large4 to test merge"
1688 Invoking status precommit hook
1688 Invoking status precommit hook
1689 M sub/large4
1689 M sub/large4
1690 # Test --cache-largefiles flag
1690 # Test --cache-largefiles flag
1691 $ hg pull --lfrev 'heads(pulled())' ../e
1691 $ hg pull --lfrev 'heads(pulled())' ../e
1692 pulling from ../e
1692 pulling from ../e
1693 searching for changes
1693 searching for changes
1694 adding changesets
1694 adding changesets
1695 adding manifests
1695 adding manifests
1696 adding file changes
1696 adding file changes
1697 added 2 changesets with 4 changes to 4 files (+1 heads)
1697 added 2 changesets with 4 changes to 4 files (+1 heads)
1698 new changesets a381d2c8c80e:598410d3eb9a
1698 new changesets a381d2c8c80e:598410d3eb9a
1699 (run 'hg heads' to see heads, 'hg merge' to merge)
1699 (run 'hg heads' to see heads, 'hg merge' to merge)
1700 2 largefiles cached
1700 2 largefiles cached
1701 $ hg merge
1701 $ hg merge
1702 largefile sub/large4 has a merge conflict
1702 largefile sub/large4 has a merge conflict
1703 ancestor was 971fb41e78fea4f8e0ba5244784239371cb00591
1703 ancestor was 971fb41e78fea4f8e0ba5244784239371cb00591
1704 keep (l)ocal d846f26643bfa8ec210be40cc93cc6b7ff1128ea or
1704 keep (l)ocal d846f26643bfa8ec210be40cc93cc6b7ff1128ea or
1705 take (o)ther e166e74c7303192238d60af5a9c4ce9bef0b7928? l
1705 take (o)ther e166e74c7303192238d60af5a9c4ce9bef0b7928? l
1706 getting changed largefiles
1706 getting changed largefiles
1707 1 largefiles updated, 0 removed
1707 1 largefiles updated, 0 removed
1708 3 files updated, 1 files merged, 0 files removed, 0 files unresolved
1708 3 files updated, 1 files merged, 0 files removed, 0 files unresolved
1709 (branch merge, don't forget to commit)
1709 (branch merge, don't forget to commit)
1710 $ hg commit -m "Merge repos e and f"
1710 $ hg commit -m "Merge repos e and f"
1711 Invoking status precommit hook
1711 Invoking status precommit hook
1712 M normal3
1712 M normal3
1713 M sub/normal4
1713 M sub/normal4
1714 M sub2/large6
1714 M sub2/large6
1715 $ cat normal3
1715 $ cat normal3
1716 normal3-modified
1716 normal3-modified
1717 $ cat sub/normal4
1717 $ cat sub/normal4
1718 normal4-modified
1718 normal4-modified
1719 $ cat sub/large4
1719 $ cat sub/large4
1720 large4-merge-test
1720 large4-merge-test
1721 $ cat sub2/large6
1721 $ cat sub2/large6
1722 large6-modified
1722 large6-modified
1723 $ cat sub2/large7
1723 $ cat sub2/large7
1724 large7
1724 large7
1725
1725
1726 Test status after merging with a branch that introduces a new largefile:
1726 Test status after merging with a branch that introduces a new largefile:
1727
1727
1728 $ echo large > large
1728 $ echo large > large
1729 $ hg add --large large
1729 $ hg add --large large
1730 $ hg commit -m 'add largefile'
1730 $ hg commit -m 'add largefile'
1731 Invoking status precommit hook
1731 Invoking status precommit hook
1732 A large
1732 A large
1733 $ hg update -q ".^"
1733 $ hg update -q ".^"
1734 $ echo change >> normal3
1734 $ echo change >> normal3
1735 $ hg commit -m 'some change'
1735 $ hg commit -m 'some change'
1736 Invoking status precommit hook
1736 Invoking status precommit hook
1737 M normal3
1737 M normal3
1738 created new head
1738 created new head
1739 $ hg merge
1739 $ hg merge
1740 getting changed largefiles
1740 getting changed largefiles
1741 1 largefiles updated, 0 removed
1741 1 largefiles updated, 0 removed
1742 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1742 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1743 (branch merge, don't forget to commit)
1743 (branch merge, don't forget to commit)
1744 $ hg status
1744 $ hg status
1745 M large
1745 M large
1746
1746
1747 - make sure update of merge with removed largefiles fails as expected
1747 - make sure update of merge with removed largefiles fails as expected
1748 $ hg rm sub2/large6
1748 $ hg rm sub2/large6
1749 $ hg up -r.
1749 $ hg up -r.
1750 abort: outstanding uncommitted merge
1750 abort: outstanding uncommitted merge
1751 [255]
1751 [255]
1752
1752
1753 - revert should be able to revert files introduced in a pending merge
1753 - revert should be able to revert files introduced in a pending merge
1754 $ hg revert --all -r .
1754 $ hg revert --all -r .
1755 removing .hglf/large
1755 removing .hglf/large
1756 undeleting .hglf/sub2/large6
1756 undeleting .hglf/sub2/large6
1757
1757
1758 Test that a normal file and a largefile with the same name and path cannot
1758 Test that a normal file and a largefile with the same name and path cannot
1759 coexist.
1759 coexist.
1760
1760
1761 $ rm sub2/large7
1761 $ rm sub2/large7
1762 $ echo "largeasnormal" > sub2/large7
1762 $ echo "largeasnormal" > sub2/large7
1763 $ hg add sub2/large7
1763 $ hg add sub2/large7
1764 sub2/large7 already a largefile
1764 sub2/large7 already a largefile
1765
1765
1766 Test that transplanting a largefile change works correctly.
1766 Test that transplanting a largefile change works correctly.
1767
1767
1768 $ cd ..
1768 $ cd ..
1769 $ hg clone -r 8 d g
1769 $ hg clone -r 8 d g
1770 adding changesets
1770 adding changesets
1771 adding manifests
1771 adding manifests
1772 adding file changes
1772 adding file changes
1773 added 9 changesets with 26 changes to 10 files
1773 added 9 changesets with 26 changes to 10 files
1774 new changesets 30d30fe6a5be:a381d2c8c80e
1774 new changesets 30d30fe6a5be:a381d2c8c80e
1775 updating to branch default
1775 updating to branch default
1776 getting changed largefiles
1776 getting changed largefiles
1777 3 largefiles updated, 0 removed
1777 3 largefiles updated, 0 removed
1778 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1778 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
1779 $ cd g
1779 $ cd g
1780 $ hg transplant -s ../d 598410d3eb9a
1780 $ hg transplant -s ../d 598410d3eb9a
1781 searching for changes
1781 searching for changes
1782 searching for changes
1782 searching for changes
1783 adding changesets
1783 adding changesets
1784 adding manifests
1784 adding manifests
1785 adding file changes
1785 adding file changes
1786 added 1 changesets with 2 changes to 2 files
1786 added 1 changesets with 2 changes to 2 files
1787 new changesets 598410d3eb9a
1787 new changesets 598410d3eb9a
1788 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1788 $ hg log --template '{rev}:{node|short} {desc|firstline}\n'
1789 9:598410d3eb9a modify normal file largefile in repo d
1789 9:598410d3eb9a modify normal file largefile in repo d
1790 8:a381d2c8c80e modify normal file and largefile in repo b
1790 8:a381d2c8c80e modify normal file and largefile in repo b
1791 7:daea875e9014 add/edit more largefiles
1791 7:daea875e9014 add/edit more largefiles
1792 6:4355d653f84f edit files yet again
1792 6:4355d653f84f edit files yet again
1793 5:9d5af5072dbd edit files again
1793 5:9d5af5072dbd edit files again
1794 4:74c02385b94c move files
1794 4:74c02385b94c move files
1795 3:9e8fbc4bce62 copy files
1795 3:9e8fbc4bce62 copy files
1796 2:51a0ae4d5864 remove files
1796 2:51a0ae4d5864 remove files
1797 1:ce8896473775 edit files
1797 1:ce8896473775 edit files
1798 0:30d30fe6a5be add files
1798 0:30d30fe6a5be add files
1799 $ cat normal3
1799 $ cat normal3
1800 normal3-modified
1800 normal3-modified
1801 $ cat sub/normal4
1801 $ cat sub/normal4
1802 normal4-modified
1802 normal4-modified
1803 $ cat sub/large4
1803 $ cat sub/large4
1804 large4-modified
1804 large4-modified
1805 $ cat sub2/large6
1805 $ cat sub2/large6
1806 large6-modified
1806 large6-modified
1807 $ cat sub2/large7
1807 $ cat sub2/large7
1808 large7
1808 large7
1809
1809
1810 Cat a largefile
1810 Cat a largefile
1811 $ hg cat normal3
1811 $ hg cat normal3
1812 normal3-modified
1812 normal3-modified
1813 $ hg cat sub/large4
1813 $ hg cat sub/large4
1814 large4-modified
1814 large4-modified
1815 $ rm "${USERCACHE}"/*
1815 $ rm "${USERCACHE}"/*
1816 $ hg cat -r a381d2c8c80e -o cat.out sub/large4
1816 $ hg cat -r a381d2c8c80e -o cat.out sub/large4
1817 $ cat cat.out
1817 $ cat cat.out
1818 large4-modified
1818 large4-modified
1819 $ rm cat.out
1819 $ rm cat.out
1820 $ hg cat -r a381d2c8c80e normal3
1820 $ hg cat -r a381d2c8c80e normal3
1821 normal3-modified
1821 normal3-modified
1822 $ hg cat -r '.^' normal3
1822 $ hg cat -r '.^' normal3
1823 normal3-modified
1823 normal3-modified
1824 $ hg cat -r '.^' sub/large4 doesntexist
1824 $ hg cat -r '.^' sub/large4 doesntexist
1825 large4-modified
1825 large4-modified
1826 doesntexist: no such file in rev a381d2c8c80e
1826 doesntexist: no such file in rev a381d2c8c80e
1827 $ hg --cwd sub cat -r '.^' large4
1827 $ hg --cwd sub cat -r '.^' large4
1828 large4-modified
1828 large4-modified
1829 $ hg --cwd sub cat -r '.^' ../normal3
1829 $ hg --cwd sub cat -r '.^' ../normal3
1830 normal3-modified
1830 normal3-modified
1831 Cat a standin
1831 Cat a standin
1832 $ hg cat .hglf/sub/large4
1832 $ hg cat .hglf/sub/large4
1833 e166e74c7303192238d60af5a9c4ce9bef0b7928
1833 e166e74c7303192238d60af5a9c4ce9bef0b7928
1834 $ hg cat .hglf/normal3
1834 $ hg cat .hglf/normal3
1835 .hglf/normal3: no such file in rev 598410d3eb9a
1835 .hglf/normal3: no such file in rev 598410d3eb9a
1836 [1]
1836 [1]
1837
1837
1838 Test that renaming a largefile results in correct output for status
1838 Test that renaming a largefile results in correct output for status
1839
1839
1840 $ hg rename sub/large4 large4-renamed
1840 $ hg rename sub/large4 large4-renamed
1841 $ hg commit -m "test rename output"
1841 $ hg commit -m "test rename output"
1842 Invoking status precommit hook
1842 Invoking status precommit hook
1843 A large4-renamed
1843 A large4-renamed
1844 R sub/large4
1844 R sub/large4
1845 $ cat large4-renamed
1845 $ cat large4-renamed
1846 large4-modified
1846 large4-modified
1847 $ cd sub2
1847 $ cd sub2
1848 $ hg rename large6 large6-renamed
1848 $ hg rename large6 large6-renamed
1849 $ hg st
1849 $ hg st
1850 A sub2/large6-renamed
1850 A sub2/large6-renamed
1851 R sub2/large6
1851 R sub2/large6
1852 $ cd ..
1852 $ cd ..
1853
1853
1854 Test --normal flag
1854 Test --normal flag
1855
1855
1856 $ dd if=/dev/zero bs=2k count=11k > new-largefile 2> /dev/null
1856 $ dd if=/dev/zero bs=2k count=11k > new-largefile 2> /dev/null
1857 $ hg add --normal --large new-largefile
1857 $ hg add --normal --large new-largefile
1858 abort: --normal cannot be used with --large
1858 abort: --normal cannot be used with --large
1859 [255]
1859 [255]
1860 $ hg add --normal new-largefile
1860 $ hg add --normal new-largefile
1861 new-largefile: up to 69 MB of RAM may be required to manage this file
1861 new-largefile: up to 69 MB of RAM may be required to manage this file
1862 (use 'hg revert new-largefile' to cancel the pending addition)
1862 (use 'hg revert new-largefile' to cancel the pending addition)
1863
1863
1864 Test explicit commit of switch between normal and largefile - make sure both
1864 Test explicit commit of switch between normal and largefile - make sure both
1865 the add and the remove is committed.
1865 the add and the remove is committed.
1866
1866
1867 $ hg up -qC
1867 $ hg up -qC
1868 $ hg forget normal3 large4-renamed
1868 $ hg forget normal3 large4-renamed
1869 $ hg add --large normal3
1869 $ hg add --large normal3
1870 $ hg add large4-renamed
1870 $ hg add large4-renamed
1871 $ hg commit -m 'swap' normal3 large4-renamed
1871 $ hg commit -m 'swap' normal3 large4-renamed
1872 Invoking status precommit hook
1872 Invoking status precommit hook
1873 A large4-renamed
1873 A large4-renamed
1874 A normal3
1874 A normal3
1875 ? new-largefile
1875 ? new-largefile
1876 ? sub2/large6-renamed
1876 ? sub2/large6-renamed
1877 $ hg mani
1877 $ hg mani
1878 .hglf/normal3
1878 .hglf/normal3
1879 .hglf/sub2/large6
1879 .hglf/sub2/large6
1880 .hglf/sub2/large7
1880 .hglf/sub2/large7
1881 large4-renamed
1881 large4-renamed
1882 sub/normal4
1882 sub/normal4
1883
1883
1884 $ cd ..
1884 $ cd ..
1885
1885
1886
1886
1887
1887
General Comments 0
You need to be logged in to leave comments. Login now