# HG changeset patch # User Matt Mackall # Date 2010-09-26 18:44:49 # Node ID 8fdc11fec6aed4099fbac955a388372e8d6bdc49 # Parent 59012130b43e5c8e7629d59150bc6d98476d6730 tests: unify test-rollback diff --git a/tests/test-rollback.out b/tests/test-rollback.out deleted file mode 100644 --- a/tests/test-rollback.out +++ /dev/null @@ -1,43 +0,0 @@ -checking changesets -checking manifests -crosschecking files in changesets and manifests -checking files -1 files, 1 changesets, 1 total revisions -changeset: 0:acb14030fe0a -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: test - -rolling back to revision -1 (undo commit) -checking changesets -checking manifests -crosschecking files in changesets and manifests -checking files -0 files, 0 changesets, 0 total revisions -A a -% Test issue 902 -marked working directory as branch test -rolling back to revision -1 (undo commit) -default -% Test issue 1635 (commit message saved) -.hg/last-message.txt: -test2 -% Test rollback of hg before issue 902 was fixed -marked working directory as branch test -rolling back to revision -1 (undo commit) -Named branch could not be reset, current branch still is: test -test -% rollback by pretxncommit saves commit message (issue 1635) -transaction abort! -rollback completed -abort: pretxncommit hook exited ... -.hg/last-message.txt: -precious commit message -% same thing, but run $EDITOR -transaction abort! -rollback completed -note: commit message saved in .hg/last-message.txt -abort: pretxncommit hook exited ... -.hg/last-message.txt: -another precious commit message diff --git a/tests/test-rollback b/tests/test-rollback.t old mode 100755 new mode 100644 rename from tests/test-rollback rename to tests/test-rollback.t --- a/tests/test-rollback +++ b/tests/test-rollback.t @@ -1,48 +1,91 @@ -#!/bin/sh -mkdir t -cd t -hg init -echo a > a -hg add a -hg commit -m "test" -hg verify -hg parents -hg status -hg rollback -hg verify -hg parents -hg status + $ mkdir t + $ cd t + $ hg init + $ echo a > a + $ hg add a + $ hg commit -m "test" + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 1 files, 1 changesets, 1 total revisions + $ hg parents + changeset: 0:acb14030fe0a + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test + + $ hg status + $ hg rollback + rolling back to revision -1 (undo commit) + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 0 files, 0 changesets, 0 total revisions + $ hg parents + $ hg status + A a -echo % Test issue 902 -hg commit -m "test2" -hg branch test -hg rollback -hg branch +Test issue 902 + + $ hg commit -m "test2" + $ hg branch test + marked working directory as branch test + $ hg rollback + rolling back to revision -1 (undo commit) + $ hg branch + default + +Test issue 1635 (commit message saved) +.hg/last-message.txt: -echo '% Test issue 1635 (commit message saved)' -echo '.hg/last-message.txt:' -cat .hg/last-message.txt ; echo + $ cat .hg/last-message.txt ; echo + test2 + +Test rollback of hg before issue 902 was fixed -echo % Test rollback of hg before issue 902 was fixed -hg commit -m "test3" -hg branch test -rm .hg/undo.branch -hg rollback -hg branch + $ hg commit -m "test3" + $ hg branch test + marked working directory as branch test + $ rm .hg/undo.branch + $ hg rollback + rolling back to revision -1 (undo commit) + Named branch could not be reset, current branch still is: test + $ hg branch + test + +rollback by pretxncommit saves commit message (issue 1635) -echo '% rollback by pretxncommit saves commit message (issue 1635)' -echo a >> a -hg --config hooks.pretxncommit=false commit -m"precious commit message" 2>&1 | sed 's,exited with status .*,exited ...,g' -echo '.hg/last-message.txt:' -cat .hg/last-message.txt ; echo + $ echo a >> a + $ hg --config hooks.pretxncommit=false commit -m"precious commit message" + transaction abort! + rollback completed + abort: pretxncommit hook exited with status * (glob) + [255] + +.hg/last-message.txt: -echo '% same thing, but run $EDITOR' -cat > $HGTMP/editor <<'__EOF__' -#!/bin/sh -echo "another precious commit message" > "$1" -__EOF__ -chmod +x "$HGTMP"/editor -HGEDITOR="'$HGTMP'"/editor hg --config hooks.pretxncommit=false commit 2>&1 | sed 's,exited with status .*,exited ...,g' -echo '.hg/last-message.txt:' -cat .hg/last-message.txt + $ cat .hg/last-message.txt ; echo + precious commit message + $ echo '% same thing, but run $EDITOR' + % same thing, but run $EDITOR + $ cat > $HGTMP/editor <<'__EOF__' + > #!/bin/sh + > echo "another precious commit message" > "$1" + > __EOF__ + > chmod +x "$HGTMP"/editor + > HGEDITOR="'$HGTMP'"/editor hg --config hooks.pretxncommit=false commit 2>&1 + > cat .hg/last-message.txt + transaction abort! + rollback completed + note: commit message saved in .hg/last-message.txt + abort: pretxncommit hook exited with status * (glob) + another precious commit message + +.hg/last-message.txt: +