tests/test-revert
changeset 12106 969176bec217
parent 12105 6f58430dfdd0
child 12107 497c78760b37
equal deleted inserted replaced
12105:6f58430dfdd0 12106:969176bec217
     1 #!/bin/sh
       
     2 
       
     3 hg init repo
       
     4 cd repo
       
     5 echo 123 > a
       
     6 echo 123 > c
       
     7 echo 123 > e
       
     8 hg add a c e
       
     9 hg commit -m "first" -d "1000000 0" a c e
       
    10 echo 123 > b
       
    11 echo %% should show b unknown
       
    12 hg status
       
    13 echo 12 > c
       
    14 echo %% should show b unknown and c modified
       
    15 hg status
       
    16 hg add b
       
    17 echo %% should show b added and c modified
       
    18 hg status
       
    19 hg rm a
       
    20 echo %% should show a removed, b added and c modified
       
    21 hg status
       
    22 hg revert a
       
    23 echo %% should show b added, copy saved, and c modified
       
    24 hg status
       
    25 hg revert b
       
    26 echo %% should show b unknown, and c modified
       
    27 hg status
       
    28 hg revert --no-backup c
       
    29 echo %% should show unknown: b
       
    30 hg status
       
    31 hg add b
       
    32 echo %% should show b added
       
    33 hg status b
       
    34 rm b
       
    35 echo %% should show b deleted
       
    36 hg status b
       
    37 hg revert -v b
       
    38 echo %% should not find b
       
    39 hg status b
       
    40 echo %% should show a c e
       
    41 ls
       
    42 echo %% should verbosely save backup to e.orig
       
    43 echo z > e
       
    44 hg revert --all -v
       
    45 echo %% should say no changes needed
       
    46 hg revert a
       
    47 echo %% should say file not managed
       
    48 echo q > q
       
    49 hg revert q
       
    50 rm q
       
    51 echo %% should say file not found
       
    52 hg revert notfound
       
    53 touch d
       
    54 hg add d
       
    55 hg rm a
       
    56 hg commit -m "second" -d "1000000 0"
       
    57 echo z > z
       
    58 hg add z
       
    59 hg st
       
    60 echo %% should add a, remove d, forget z
       
    61 hg revert --all -r0
       
    62 echo %% should forget a, undelete d
       
    63 hg revert --all -rtip
       
    64 rm a *.orig
       
    65 echo %% should silently add a
       
    66 hg revert -r0 a
       
    67 hg st a
       
    68 hg rm d
       
    69 hg st d
       
    70 echo %% should silently keep d removed
       
    71 hg revert -r0 d
       
    72 hg st d
       
    73 
       
    74 hg update -C
       
    75 chmod +x c
       
    76 hg revert --all
       
    77 echo %% should print non-executable
       
    78 test -x c || echo non-executable
       
    79 
       
    80 chmod +x c
       
    81 hg commit -d '1000001 0' -m exe
       
    82 
       
    83 chmod -x c
       
    84 hg revert --all
       
    85 echo %% should print executable
       
    86 test -x c && echo executable
       
    87 
       
    88 cd ..
       
    89 
       
    90 echo %% issue 241
       
    91 hg init a
       
    92 cd a
       
    93 echo a >> a
       
    94 hg commit -A -d '1 0' -m a
       
    95 echo a >> a
       
    96 hg commit -d '2 0' -m a
       
    97 hg update 0
       
    98 mkdir b
       
    99 echo b > b/b
       
   100 
       
   101 echo % should fail - no arguments
       
   102 hg revert -rtip
       
   103 
       
   104 echo % should succeed
       
   105 hg revert --all -rtip
       
   106 
       
   107 echo %% issue332
       
   108 hg ci -A -m b -d '1000001 0'
       
   109 echo foobar > b/b
       
   110 mkdir newdir
       
   111 echo foo > newdir/newfile
       
   112 hg add newdir/newfile
       
   113 hg revert b newdir
       
   114 echo foobar > b/b
       
   115 hg revert .
       
   116 
       
   117 echo % reverting a rename target should revert the source
       
   118 hg mv a newa
       
   119 hg revert newa
       
   120 hg st a newa
       
   121 
       
   122 cd ..
       
   123 
       
   124 hg init ignored
       
   125 cd ignored
       
   126 echo '^ignored$' > .hgignore
       
   127 echo '^ignoreddir$' >> .hgignore
       
   128 echo '^removed$' >> .hgignore
       
   129 
       
   130 mkdir ignoreddir
       
   131 touch ignoreddir/file
       
   132 touch ignoreddir/removed
       
   133 touch ignored
       
   134 touch removed
       
   135 echo '%% 4 ignored files (we will add/commit everything)'
       
   136 hg st -A -X .hgignore
       
   137 hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed
       
   138 
       
   139 echo >> ignored
       
   140 echo >> ignoreddir/file
       
   141 hg rm removed ignoreddir/removed
       
   142 echo '%% should revert ignored* and undelete *removed'
       
   143 hg revert -a --no-backup
       
   144 hg st -mardi
       
   145 
       
   146 hg up -qC
       
   147 echo >> ignored
       
   148 hg rm removed
       
   149 echo %% should silently revert the named files
       
   150 hg revert --no-backup ignored removed
       
   151 hg st -mardi