tests/test-rollback
author Greg Ward <greg-hg@gerg.ca>
Tue, 24 Nov 2009 21:08:40 -0500
changeset 9935 48b81d9bca8d
parent 9934 720f70b720d3
child 9949 bc3f762af82e
permissions -rwxr-xr-x
commit: if relevant, tell user their commit message was saved. (issue1635) Specifically, if: 1) the user edited the message (it didn't come straight from -m) and 2) the commit was aborted by an exception then the saved commit message in .hg/last-message.txt could come in handy, so mention it with a ui.write(). This doesn't help users who manually rollback to amend a changeset: the fact that the message was saved to .hg/last-message.txt is invisible in that case.
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:'
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    25
cat .hg/last-message.txt
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
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    36
hg --config hooks.pretxncommit=/bin/false commit -m"precious commit message"
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:'
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
    38
cat .hg/last-message.txt
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__
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    45
chmod +x $HGTMP/editor
48b81d9bca8d commit: if relevant, tell user their commit message was saved.
Greg Ward <greg-hg@gerg.ca>
parents: 9934
diff changeset
    46
HGEDITOR=$HGTMP/editor hg --config hooks.pretxncommit=/bin/false commit
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