tests/test-audit-path.t
changeset 11855 054b0d9c3f0c
parent 7681 c6f3ff294fe0
child 12316 4134686b83e1
equal deleted inserted replaced
11854:aa2abde72da1 11855:054b0d9c3f0c
       
     1   $ hg init
       
     2 
       
     3 should fail
       
     4 
       
     5   $ hg add .hg/00changelog.i
       
     6   abort: path contains illegal component: .hg/00changelog.i
       
     7 
       
     8   $ mkdir a
       
     9   $ echo a > a/a
       
    10   $ hg ci -Ama
       
    11   adding a/a
       
    12   $ ln -s a b
       
    13   $ echo b > a/b
       
    14 
       
    15 should fail
       
    16 
       
    17   $ hg add b/b
       
    18   abort: path 'b/b' traverses symbolic link 'b'
       
    19 
       
    20 should succeed
       
    21 
       
    22   $ hg add b
       
    23 
       
    24 should still fail - maybe
       
    25 
       
    26   $ hg add b/b
       
    27   abort: path 'b/b' traverses symbolic link 'b'
       
    28 
       
    29 unbundle tampered bundle
       
    30 
       
    31   $ hg init target
       
    32   $ cd target
       
    33   $ hg unbundle $TESTDIR/tampered.hg
       
    34   adding changesets
       
    35   adding manifests
       
    36   adding file changes
       
    37   added 5 changesets with 6 changes to 6 files (+4 heads)
       
    38   (run 'hg heads' to see heads, 'hg merge' to merge)
       
    39 
       
    40 attack .hg/test
       
    41 
       
    42   $ hg manifest -r0
       
    43   .hg/test
       
    44   $ hg update -Cr0
       
    45   abort: path contains illegal component: .hg/test
       
    46 
       
    47 attack foo/.hg/test
       
    48 
       
    49   $ hg manifest -r1
       
    50   foo/.hg/test
       
    51   $ hg update -Cr1
       
    52   abort: path 'foo/.hg/test' is inside repo 'foo'
       
    53 
       
    54 attack back/test where back symlinks to ..
       
    55 
       
    56   $ hg manifest -r2
       
    57   back
       
    58   back/test
       
    59   $ hg update -Cr2
       
    60   abort: path 'back/test' traverses symbolic link 'back'
       
    61 
       
    62 attack ../test
       
    63 
       
    64   $ hg manifest -r3
       
    65   ../test
       
    66   $ hg update -Cr3
       
    67   abort: path contains illegal component: ../test
       
    68 
       
    69 attack /tmp/test
       
    70 
       
    71   $ hg manifest -r4
       
    72   /tmp/test
       
    73   $ hg update -Cr4
       
    74   abort: No such file or directory: .*/test-audit-path.t/target//tmp/test
       
    75 
       
    76   $ exit 0