tests/test-rollback
author Mads Kiilerich <mads@kiilerich.com>
Wed, 24 Mar 2010 01:43:24 +0100
branchstable
changeset 10775 c52057614c72
parent 10081 a5f3f9b1c42a
child 12156 4c94b6d0fb1c
permissions -rwxr-xr-x
Tests with spaces in paths This allows most tests to succeed with ./run-tests.py --tmpdir='/tmp/hg test' and introduces other tests for spaces and shell quoting
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
544
3d4d5f2aba9a Remove bashisms and use /bin/sh instead of /bin/bash.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 350
diff changeset
     1
#!/bin/sh
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     2
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     3
mkdir t
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     4
cd t
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     5
hg init
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     6
echo a > a
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     7
hg add a
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 814
diff changeset
     8
hg commit -m "test" -d "1000000 0"
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
     9
hg verify
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
    10
hg parents
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
    11
hg status
2227
4f072bb06e89 deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
    12
hg rollback
336
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
    13
hg verify
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
    14
hg parents
aa6cbde09f72 Add some more tests
mpm@selenic.com
parents:
diff changeset
    15
hg status
5814
dd5a501cb97f restore branch after rollback (issue 902)
Alexandre Vassalotti <mercurial-bugs@selenic.com>
parents: 2227
diff changeset
    16
6058
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    17
echo % Test issue 902
9934
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    18
hg commit -m "test2"
5814
dd5a501cb97f restore branch after rollback (issue 902)
Alexandre Vassalotti <mercurial-bugs@selenic.com>
parents: 2227
diff changeset
    19
hg branch test
dd5a501cb97f restore branch after rollback (issue 902)
Alexandre Vassalotti <mercurial-bugs@selenic.com>
parents: 2227
diff changeset
    20
hg rollback
dd5a501cb97f restore branch after rollback (issue 902)
Alexandre Vassalotti <mercurial-bugs@selenic.com>
parents: 2227
diff changeset
    21
hg branch
6058
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    22
9934
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    23
echo '% Test issue 1635 (commit message saved)'
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    24
echo '.hg/last-message.txt:'
9949
bc3f762af82e commit: write last-message.txt with no content modifications.
Greg Ward <greg-hg@gerg.ca>
parents: 9935
diff changeset
    25
cat .hg/last-message.txt ; echo
9934
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    26
6058
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    27
echo % Test rollback of hg before issue 902 was fixed
9934
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    28
hg commit -m "test3"
6058
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    29
hg branch test
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    30
rm .hg/undo.branch
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    31
hg rollback
88b4d726332a Do not abort rollback if undo.branch isn't available, but warn.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5814
diff changeset
    32
hg branch
9934
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    33
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    34
echo '% rollback by pretxncommit saves commit message (issue 1635)'
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    35
echo a >> a
10081
a5f3f9b1c42a test-rollback: Ignore hook exit code
Mads Kiilerich <mads@kiilerich.com>
parents: 9969
diff changeset
    36
hg --config hooks.pretxncommit=false commit -m"precious commit message" 2>&1 | sed 's,exited with status .*,exited ...,g'
9934
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    37
echo '.hg/last-message.txt:'
9949
bc3f762af82e commit: write last-message.txt with no content modifications.
Greg Ward <greg-hg@gerg.ca>
parents: 9935
diff changeset
    38
cat .hg/last-message.txt ; echo
9935
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    39
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    40
echo '% same thing, but run $EDITOR'
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    41
cat > $HGTMP/editor <<'__EOF__'
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    42
#!/bin/sh
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    43
echo "another precious commit message" > "$1"
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    44
__EOF__
10775
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10081
diff changeset
    45
chmod +x "$HGTMP"/editor
c52057614c72 Tests with spaces in paths
Mads Kiilerich <mads@kiilerich.com>
parents: 10081
diff changeset
    46
HGEDITOR="'$HGTMP'"/editor hg --config hooks.pretxncommit=false commit 2>&1 | sed 's,exited with status .*,exited ...,g'
9935
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    47
echo '.hg/last-message.txt:'
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    48
cat .hg/last-message.txt