tests/test-subrepo-recursion.t
changeset 12166 441a74b8def1
child 12167 d2c5b0927c28
equal deleted inserted replaced
12165:b7fbf24c8a93 12166:441a74b8def1
       
     1 Make status look into subrepositories by default:
       
     2 
       
     3   $ echo '[defaults]' >> $HGRCPATH
       
     4   $ echo 'status = -S' >> $HGRCPATH
       
     5 
       
     6 Create test repository:
       
     7 
       
     8   $ hg init
       
     9   $ echo x1 > x.txt
       
    10   $ hg add x.txt
       
    11 
       
    12   $ hg init foo
       
    13   $ cd foo
       
    14   $ echo y1 > y.txt
       
    15   $ hg add y.txt
       
    16 
       
    17   $ hg init bar
       
    18   $ cd bar
       
    19   $ echo z1 > z.txt
       
    20   $ hg add z.txt
       
    21 
       
    22   $ cd ..
       
    23   $ echo 'bar = bar' > .hgsub
       
    24   $ hg add .hgsub
       
    25 
       
    26   $ cd ..
       
    27   $ echo 'foo = foo' > .hgsub
       
    28   $ hg add .hgsub
       
    29 
       
    30   $ hg commit -m 0-0-0
       
    31   committing subrepository foo
       
    32   committing subrepository foo/bar
       
    33 
       
    34   $ cd foo
       
    35   $ echo y2 >> y.txt
       
    36   $ hg commit -m 0-1-0
       
    37 
       
    38   $ cd bar
       
    39   $ echo z2 >> z.txt
       
    40   $ hg commit -m 0-1-1
       
    41 
       
    42   $ cd ..
       
    43   $ hg commit -m 0-2-1
       
    44   committing subrepository bar
       
    45 
       
    46   $ cd ..
       
    47   $ hg commit -m 1-2-1
       
    48   committing subrepository foo
       
    49 
       
    50 Change working directory:
       
    51 
       
    52   $ echo y3 >> foo/y.txt
       
    53   $ echo z3 >> foo/bar/z.txt
       
    54   $ hg status
       
    55   M foo/bar/z.txt
       
    56   M foo/y.txt
       
    57 
       
    58 Status call crossing repository boundaries:
       
    59 
       
    60   $ hg status foo/bar/z.txt
       
    61   M foo/bar/z.txt
       
    62   $ hg status -I 'foo/?.txt'
       
    63   M foo/y.txt
       
    64   $ hg status -I '**/?.txt'
       
    65   M foo/bar/z.txt
       
    66   M foo/y.txt
       
    67 
       
    68 Status from within a subdirectory:
       
    69 
       
    70   $ mkdir dir
       
    71   $ cd dir
       
    72   $ echo a1 > a.txt
       
    73   $ hg status
       
    74   M foo/bar/z.txt
       
    75   M foo/y.txt
       
    76   ? dir/a.txt
       
    77 
       
    78 Status with relative path:
       
    79 
       
    80   $ hg status ..
       
    81   M ../foo/bar/z.txt
       
    82   M ../foo/y.txt
       
    83   ? a.txt
       
    84   $ cd ..
       
    85 
       
    86 Status between revisions:
       
    87 
       
    88   $ rm -r dir
       
    89   $ hg commit -m 2-2-1
       
    90   committing subrepository foo
       
    91   committing subrepository foo/bar
       
    92   $ hg status
       
    93   $ hg status --rev 0:1
       
    94   M .hgsubstate
       
    95   M foo/.hgsubstate
       
    96   M foo/bar/z.txt
       
    97   M foo/y.txt