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