tests/test-narrow-clone.t
changeset 36117 a2a6e724d61a
child 36127 e14821b290eb
equal deleted inserted replaced
36116:7f68235f23ff 36117:a2a6e724d61a
       
     1   $ . "$TESTDIR/narrow-library.sh"
       
     2 
       
     3   $ hg init master
       
     4   $ cd master
       
     5   $ cat >> .hg/hgrc <<EOF
       
     6   > [narrow]
       
     7   > serveellipses=True
       
     8   > EOF
       
     9   $ mkdir dir
       
    10   $ mkdir dir/src
       
    11   $ cd dir/src
       
    12   $ for x in `$TESTDIR/seq.py 20`; do echo $x > "f$x"; hg add "f$x"; hg commit -m "Commit src $x"; done
       
    13   $ cd ..
       
    14   $ mkdir tests
       
    15   $ cd tests
       
    16   $ for x in `$TESTDIR/seq.py 20`; do echo $x > "t$x"; hg add "t$x"; hg commit -m "Commit test $x"; done
       
    17   $ cd ../../..
       
    18 
       
    19 narrow clone a file, f10
       
    20 
       
    21   $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10"
       
    22   requesting all changes
       
    23   adding changesets
       
    24   adding manifests
       
    25   adding file changes
       
    26   added 3 changesets with 1 changes to 1 files
       
    27   new changesets *:* (glob)
       
    28   $ cd narrow
       
    29   $ cat .hg/requires | grep -v generaldelta
       
    30   dotencode
       
    31   fncache
       
    32   narrowhg
       
    33   revlogv1
       
    34   store
       
    35 
       
    36   $ cat .hg/narrowspec
       
    37   [includes]
       
    38   path:dir/src/f10
       
    39   [excludes]
       
    40   $ hg tracked
       
    41   I path:dir/src/f10
       
    42   $ hg update
       
    43   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    44   $ find * | sort
       
    45   dir
       
    46   dir/src
       
    47   dir/src/f10
       
    48   $ cat dir/src/f10
       
    49   10
       
    50 
       
    51   $ cd ..
       
    52 
       
    53 narrow clone with a newline should fail
       
    54 
       
    55   $ hg clone --narrow ssh://user@dummy/master narrow_fail --noupdate --include 'dir/src/f10
       
    56   > '
       
    57   requesting all changes
       
    58   abort: newlines are not allowed in narrowspec paths
       
    59   [255]
       
    60 
       
    61 narrow clone a directory, tests/, except tests/t19
       
    62 
       
    63   $ hg clone --narrow ssh://user@dummy/master narrowdir --noupdate --include "dir/tests/" --exclude "dir/tests/t19"
       
    64   requesting all changes
       
    65   adding changesets
       
    66   adding manifests
       
    67   adding file changes
       
    68   added 21 changesets with 19 changes to 19 files
       
    69   new changesets *:* (glob)
       
    70   $ cd narrowdir
       
    71   $ cat .hg/narrowspec
       
    72   [includes]
       
    73   path:dir/tests
       
    74   [excludes]
       
    75   path:dir/tests/t19
       
    76   $ hg tracked
       
    77   I path:dir/tests
       
    78   X path:dir/tests/t19
       
    79   $ hg update
       
    80   19 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
    81   $ find * | sort
       
    82   dir
       
    83   dir/tests
       
    84   dir/tests/t1
       
    85   dir/tests/t10
       
    86   dir/tests/t11
       
    87   dir/tests/t12
       
    88   dir/tests/t13
       
    89   dir/tests/t14
       
    90   dir/tests/t15
       
    91   dir/tests/t16
       
    92   dir/tests/t17
       
    93   dir/tests/t18
       
    94   dir/tests/t2
       
    95   dir/tests/t20
       
    96   dir/tests/t3
       
    97   dir/tests/t4
       
    98   dir/tests/t5
       
    99   dir/tests/t6
       
   100   dir/tests/t7
       
   101   dir/tests/t8
       
   102   dir/tests/t9
       
   103 
       
   104   $ cd ..
       
   105 
       
   106 narrow clone everything but a directory (tests/)
       
   107 
       
   108   $ hg clone --narrow ssh://user@dummy/master narrowroot --noupdate --exclude "dir/tests"
       
   109   requesting all changes
       
   110   adding changesets
       
   111   adding manifests
       
   112   adding file changes
       
   113   added 21 changesets with 20 changes to 20 files
       
   114   new changesets *:* (glob)
       
   115   $ cd narrowroot
       
   116   $ cat .hg/narrowspec
       
   117   [includes]
       
   118   path:.
       
   119   [excludes]
       
   120   path:dir/tests
       
   121   $ hg tracked
       
   122   I path:.
       
   123   X path:dir/tests
       
   124   $ hg update
       
   125   20 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   126   $ find * | sort
       
   127   dir
       
   128   dir/src
       
   129   dir/src/f1
       
   130   dir/src/f10
       
   131   dir/src/f11
       
   132   dir/src/f12
       
   133   dir/src/f13
       
   134   dir/src/f14
       
   135   dir/src/f15
       
   136   dir/src/f16
       
   137   dir/src/f17
       
   138   dir/src/f18
       
   139   dir/src/f19
       
   140   dir/src/f2
       
   141   dir/src/f20
       
   142   dir/src/f3
       
   143   dir/src/f4
       
   144   dir/src/f5
       
   145   dir/src/f6
       
   146   dir/src/f7
       
   147   dir/src/f8
       
   148   dir/src/f9
       
   149 
       
   150   $ cd ..
       
   151 
       
   152 narrow clone no paths at all
       
   153 
       
   154   $ hg clone --narrow ssh://user@dummy/master narrowempty --noupdate
       
   155   requesting all changes
       
   156   adding changesets
       
   157   adding manifests
       
   158   adding file changes
       
   159   added 1 changesets with 0 changes to 0 files
       
   160   new changesets * (glob)
       
   161   $ cd narrowempty
       
   162   $ hg tracked
       
   163   $ hg update
       
   164   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   165   $ ls
       
   166 
       
   167   $ cd ..
       
   168 
       
   169 simple clone
       
   170   $ hg clone ssh://user@dummy/master simpleclone
       
   171   requesting all changes
       
   172   adding changesets
       
   173   adding manifests
       
   174   adding file changes
       
   175   added 40 changesets with 40 changes to 40 files
       
   176   new changesets * (glob)
       
   177   updating to branch default
       
   178   40 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   179   $ cd simpleclone
       
   180   $ find * | sort
       
   181   dir
       
   182   dir/src
       
   183   dir/src/f1
       
   184   dir/src/f10
       
   185   dir/src/f11
       
   186   dir/src/f12
       
   187   dir/src/f13
       
   188   dir/src/f14
       
   189   dir/src/f15
       
   190   dir/src/f16
       
   191   dir/src/f17
       
   192   dir/src/f18
       
   193   dir/src/f19
       
   194   dir/src/f2
       
   195   dir/src/f20
       
   196   dir/src/f3
       
   197   dir/src/f4
       
   198   dir/src/f5
       
   199   dir/src/f6
       
   200   dir/src/f7
       
   201   dir/src/f8
       
   202   dir/src/f9
       
   203   dir/tests
       
   204   dir/tests/t1
       
   205   dir/tests/t10
       
   206   dir/tests/t11
       
   207   dir/tests/t12
       
   208   dir/tests/t13
       
   209   dir/tests/t14
       
   210   dir/tests/t15
       
   211   dir/tests/t16
       
   212   dir/tests/t17
       
   213   dir/tests/t18
       
   214   dir/tests/t19
       
   215   dir/tests/t2
       
   216   dir/tests/t20
       
   217   dir/tests/t3
       
   218   dir/tests/t4
       
   219   dir/tests/t5
       
   220   dir/tests/t6
       
   221   dir/tests/t7
       
   222   dir/tests/t8
       
   223   dir/tests/t9
       
   224 
       
   225   $ cd ..