annotate tests/test-rollback @ 9934:720f70b720d3

commit: save commit message so it's not destroyed by rollback. (issue1635) Rationale: if a pretxncommit hook rejects this commit, the transaction is rolled back and the user's commit message is irrevocably lost. So save a copy in .hg/last-message.txt, just in case. Also handy if the user deliberately rolls back a commit in order to amend it.
author Greg Ward <greg-hg@gerg.ca>
date Tue, 24 Nov 2009 21:08:39 -0500
parents 88b4d726332a
children 48b81d9bca8d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
720f70b720d3 commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents: 6058
diff changeset
38 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
39 cat .hg/last-message.txt