view tests/test-revert @ 9021:2ccb527c7b1a

gendoc: fix localization of help topic When a topic provides a callable method for its text, most likely this text will be generated from different parts, so it does not make sense to apply gettext on the whole result, rather the method should provide translation by itself. This is the case with the extensions topic, which triggers a double gettext call, making the ASCII codec fail when it encounters 8 bit characters, and prevents the documentation from being built.
author Cédric Duval <cedricduval@free.fr>
date Sat, 04 Jul 2009 12:12:36 +0200
parents 81e20e01d465
children
line wrap: on
line source

#!/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