tests/test-largefiles-cache.t
branchstable
changeset 15472 6a7e874390b0
child 15478 f8a0c7925496
equal deleted inserted replaced
15470:93273948cdce 15472:6a7e874390b0
       
     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