Mercurial > hg
changeset 12106:969176bec217
tests: unify test-revert
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 30 Aug 2010 13:32:37 +0900 |
parents | 6f58430dfdd0 |
children | 497c78760b37 |
files | tests/test-bisect.t tests/test-churn.t tests/test-inherit-mode.t tests/test-remove-new.t tests/test-remove.t tests/test-rename.t tests/test-revert tests/test-revert.out tests/test-revert.t tests/test-revset.t tests/test-strict.t |
diffstat | 3 files changed, 263 insertions(+), 238 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-revert Mon Aug 30 13:29:44 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ -#!/bin/sh - -hg init repo -cd repo -echo 123 > a -echo 123 > c -echo 123 > e -hg add a c e -hg commit -m "first" -d "1000000 0" a c e -echo 123 > b -echo %% should show b unknown -hg status -echo 12 > c -echo %% should show b unknown and c modified -hg status -hg add b -echo %% should show b added and c modified -hg status -hg rm a -echo %% should show a removed, b added and c modified -hg status -hg revert a -echo %% should show b added, copy saved, and c modified -hg status -hg revert b -echo %% should show b unknown, and c modified -hg status -hg revert --no-backup c -echo %% should show unknown: b -hg status -hg add b -echo %% should show b added -hg status b -rm b -echo %% should show b deleted -hg status b -hg revert -v b -echo %% should not find b -hg status b -echo %% should show a c e -ls -echo %% should verbosely save backup to e.orig -echo z > e -hg revert --all -v -echo %% should say no changes needed -hg revert a -echo %% should say file not managed -echo q > q -hg revert q -rm q -echo %% should say file not found -hg revert notfound -touch d -hg add d -hg rm a -hg commit -m "second" -d "1000000 0" -echo z > z -hg add z -hg st -echo %% should add a, remove d, forget z -hg revert --all -r0 -echo %% should forget a, undelete d -hg revert --all -rtip -rm a *.orig -echo %% should silently add a -hg revert -r0 a -hg st a -hg rm d -hg st d -echo %% should silently keep d removed -hg revert -r0 d -hg st d - -hg update -C -chmod +x c -hg revert --all -echo %% should print non-executable -test -x c || echo non-executable - -chmod +x c -hg commit -d '1000001 0' -m exe - -chmod -x c -hg revert --all -echo %% should print executable -test -x c && echo executable - -cd .. - -echo %% issue 241 -hg init a -cd a -echo a >> a -hg commit -A -d '1 0' -m a -echo a >> a -hg commit -d '2 0' -m a -hg update 0 -mkdir b -echo b > b/b - -echo % should fail - no arguments -hg revert -rtip - -echo % should succeed -hg revert --all -rtip - -echo %% issue332 -hg ci -A -m b -d '1000001 0' -echo foobar > b/b -mkdir newdir -echo foo > newdir/newfile -hg add newdir/newfile -hg revert b newdir -echo foobar > b/b -hg revert . - -echo % reverting a rename target should revert the source -hg mv a newa -hg revert newa -hg st a newa - -cd .. - -hg init ignored -cd ignored -echo '^ignored$' > .hgignore -echo '^ignoreddir$' >> .hgignore -echo '^removed$' >> .hgignore - -mkdir ignoreddir -touch ignoreddir/file -touch ignoreddir/removed -touch ignored -touch removed -echo '%% 4 ignored files (we will add/commit everything)' -hg st -A -X .hgignore -hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed - -echo >> ignored -echo >> ignoreddir/file -hg rm removed ignoreddir/removed -echo '%% should revert ignored* and undelete *removed' -hg revert -a --no-backup -hg st -mardi - -hg up -qC -echo >> ignored -hg rm removed -echo %% should silently revert the named files -hg revert --no-backup ignored removed -hg st -mardi
--- a/tests/test-revert.out Mon Aug 30 13:29:44 2010 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -%% should show b unknown -? b -%% should show b unknown and c modified -M c -? b -%% should show b added and c modified -M c -A b -%% should show a removed, b added and c modified -M c -A b -R a -%% should show b added, copy saved, and c modified -M c -A b -%% should show b unknown, and c modified -M c -? b -%% should show unknown: b -? b -%% should show b added -A b -%% should show b deleted -! b -forgetting b -%% should not find b -b: No such file or directory -%% should show a c e -a -c -e -%% should verbosely save backup to e.orig -saving current version of e as e.orig -reverting e -%% should say no changes needed -no changes needed to a -%% should say file not managed -file not managed: q -%% should say file not found -notfound: no such file in rev 095eacd0c0d7 -A z -? e.orig -%% should add a, remove d, forget z -adding a -removing d -forgetting z -%% should forget a, undelete d -forgetting a -undeleting d -%% should silently add a -A a -R d -%% should silently keep d removed -R d -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -reverting c -%% should print non-executable -non-executable -reverting c -%% should print executable -executable -%% issue 241 -adding a -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -% should fail - no arguments -abort: no files or directories specified; use --all to revert the whole repo -% should succeed -reverting a -%% issue332 -adding b/b -created new head -reverting b/b -forgetting newdir/newfile -reverting b/b -% reverting a rename target should revert the source -? newa -%% 4 ignored files (we will add/commit everything) -I ignored -I ignoreddir/file -I ignoreddir/removed -I removed -%% should revert ignored* and undelete *removed -reverting ignored -reverting ignoreddir/file -undeleting ignoreddir/removed -undeleting removed -%% should silently revert the named files
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-revert.t Mon Aug 30 13:32:37 2010 +0900 @@ -0,0 +1,263 @@ + $ hg init repo + $ cd repo + $ echo 123 > a + $ echo 123 > c + $ echo 123 > e + $ hg add a c e + $ hg commit -m "first" -d "1000000 0" a c e + $ echo 123 > b + +should show b unknown + + $ hg status + ? b + $ echo 12 > c + +should show b unknown and c modified + + $ hg status + M c + ? b + $ hg add b + +should show b added and c modified + + $ hg status + M c + A b + $ hg rm a + +should show a removed, b added and c modified + + $ hg status + M c + A b + R a + $ hg revert a + +should show b added, copy saved, and c modified + + $ hg status + M c + A b + $ hg revert b + +should show b unknown, and c modified + + $ hg status + M c + ? b + $ hg revert --no-backup c + +should show unknown: b + + $ hg status + ? b + $ hg add b + +should show b added + + $ hg status b + A b + $ rm b + +should show b deleted + + $ hg status b + ! b + $ hg revert -v b + forgetting b + +should not find b + + $ hg status b + b: No such file or directory + +should show a c e + + $ ls + a + c + e + +should verbosely save backup to e.orig + + $ echo z > e + $ hg revert --all -v + saving current version of e as e.orig + reverting e + +should say no changes needed + + $ hg revert a + no changes needed to a + +should say file not managed + + $ echo q > q + $ hg revert q + file not managed: q + $ rm q + +should say file not found + + $ hg revert notfound + notfound: no such file in rev 095eacd0c0d7 + $ touch d + $ hg add d + $ hg rm a + $ hg commit -m "second" -d "1000000 0" + $ echo z > z + $ hg add z + $ hg st + A z + ? e.orig + +should add a, remove d, forget z + + $ hg revert --all -r0 + adding a + removing d + forgetting z + +should forget a, undelete d + + $ hg revert --all -rtip + forgetting a + undeleting d + $ rm a *.orig + +should silently add a + + $ hg revert -r0 a + $ hg st a + A a + $ hg rm d + $ hg st d + R d + +should silently keep d removed + + $ hg revert -r0 d + $ hg st d + R d + + $ hg update -C + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ chmod +x c + $ hg revert --all + reverting c + +should print non-executable + + $ test -x c || echo non-executable + non-executable + + $ chmod +x c + $ hg commit -d '1000001 0' -m exe + + $ chmod -x c + $ hg revert --all + reverting c + +should print executable + + $ test -x c && echo executable + executable + + $ cd .. + + +issue 241 + + $ hg init a + $ cd a + $ echo a >> a + $ hg commit -A -d '1 0' -m a + adding a + $ echo a >> a + $ hg commit -d '2 0' -m a + $ hg update 0 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ mkdir b + $ echo b > b/b + +should fail - no arguments + + $ hg revert -rtip + abort: no files or directories specified; use --all to revert the whole repo + +should succeed + + $ hg revert --all -rtip + reverting a + + +issue332 + + $ hg ci -A -m b -d '1000001 0' + adding b/b + created new head + $ echo foobar > b/b + $ mkdir newdir + $ echo foo > newdir/newfile + $ hg add newdir/newfile + $ hg revert b newdir + reverting b/b + forgetting newdir/newfile + $ echo foobar > b/b + $ hg revert . + reverting b/b + + +reverting a rename target should revert the source + + $ hg mv a newa + $ hg revert newa + $ hg st a newa + ? newa + + $ cd .. + + $ hg init ignored + $ cd ignored + $ echo '^ignored$' > .hgignore + $ echo '^ignoreddir$' >> .hgignore + $ echo '^removed$' >> .hgignore + + $ mkdir ignoreddir + $ touch ignoreddir/file + $ touch ignoreddir/removed + $ touch ignored + $ touch removed + +4 ignored files (we will add/commit everything) + + $ hg st -A -X .hgignore + I ignored + I ignoreddir/file + I ignoreddir/removed + I removed + $ hg ci -qAm 'add files' ignored ignoreddir/file ignoreddir/removed removed + + $ echo >> ignored + $ echo >> ignoreddir/file + $ hg rm removed ignoreddir/removed + +should revert ignored* and undelete *removed + + $ hg revert -a --no-backup + reverting ignored + reverting ignoreddir/file + undeleting ignoreddir/removed + undeleting removed + $ hg st -mardi + + $ hg up -qC + $ echo >> ignored + $ hg rm removed + +should silently revert the named files + + $ hg revert --no-backup ignored removed + $ hg st -mardi