tests/test-revert
author Sean Dague <sean@dague.net>
Tue, 30 Jan 2007 10:35:25 -0500
changeset 4077 1305ba7dee88
parent 3988 9dcf9d45cab8
child 4225 281f9f8f1bd4
child 4233 03a665f9f913
permissions -rwxr-xr-x
Prevent type exception on concatenation if diffstat returns None. This will most often occur if diffstat is not installed in the target platform, though may also happen in other cases where diffstat fails to execute. Signed-off-by: Sean Dague <sean@dague.net>

#!/bin/sh

hg init
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
echo %% should show a b 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
hg rm a
hg commit -m "second" -d "1000000 0"
echo z > z
hg add z
hg st
echo %% should add a, forget z
hg revert --all -r0
echo %% should forget a
hg revert --all -rtip
rm a *.orig
echo %% should silently add a
hg revert -r0 a
hg st a

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

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
hg revert b
true