|
1 Create user cache directory |
|
2 |
|
3 $ USERCACHE=`pwd`/cache; export USERCACHE |
|
4 $ cat <<EOF >> ${HGRCPATH} |
|
5 > [extensions] |
|
6 > hgext.largefiles= |
|
7 > [largefiles] |
|
8 > usercache=${USERCACHE} |
|
9 > EOF |
|
10 $ mkdir -p ${USERCACHE} |
|
11 |
|
12 Create source repo, and commit adding largefile. |
|
13 |
|
14 $ hg init src |
|
15 $ cd src |
|
16 $ echo large > large |
|
17 $ hg add --large large |
|
18 $ hg commit -m 'add largefile' |
|
19 $ cd .. |
|
20 |
|
21 Discard all cached largefiles in USERCACHE |
|
22 |
|
23 $ rm -rf ${USERCACHE} |
|
24 |
|
25 Create mirror repo, and pull from source without largefile: |
|
26 "pull" is used instead of "clone" for suppression of (1) updating to |
|
27 tip (= cahcing largefile from source repo), and (2) recording source |
|
28 repo as "default" path in .hg/hgrc. |
|
29 |
|
30 $ hg init mirror |
|
31 $ cd mirror |
|
32 $ hg pull ../src |
|
33 pulling from ../src |
|
34 requesting all changes |
|
35 adding changesets |
|
36 adding manifests |
|
37 adding file changes |
|
38 added 1 changesets with 1 changes to 1 files |
|
39 (run 'hg update' to get a working copy) |
|
40 |
|
41 Update working directory to "tip", which requires largefile("large"), |
|
42 but there is no cache file for it. So, hg must treat it as |
|
43 "missing"(!) file. |
|
44 |
|
45 $ hg update |
|
46 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
47 getting changed largefiles |
|
48 large: Can't get file locally |
|
49 (no default or default-push path set in hgrc) |
|
50 0 largefiles updated, 0 removed |
|
51 $ hg status |
|
52 ! large |
|
53 |
|
54 Update working directory to null: this cleanup .hg/largefiles/dirstate |
|
55 |
|
56 $ hg update null |
|
57 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
58 getting changed largefiles |
|
59 0 largefiles updated, 0 removed |
|
60 |
|
61 Update working directory to tip, again. |
|
62 |
|
63 $ hg update |
|
64 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
65 getting changed largefiles |
|
66 large: Can't get file locally |
|
67 (no default or default-push path set in hgrc) |
|
68 0 largefiles updated, 0 removed |
|
69 $ hg status |
|
70 ! large |