Fix undo after aborted commit bug
Commit would overwrite undo.dirstate unconditionally, so an undo after
an aborted commit would restore the dirstate from the aborted commit
and not the prior transaction.
This copies dirstate to journal.dirstate and moves it after a
successful transaction.
#!/bin/sh -x
mkdir t
cd t
hg init
echo This is file a1 > a
echo This is file b1 > b
hg add a b
hg commit -m "commit #0" -d "0 0"
echo This is file b22 > b
hg commit -m"comment #1" -d "0 0"
hg update 0
rm b
hg commit -A -m"comment #2" -d "0 0"
# in theory, we shouldn't need the "yes k" below, but it prevents
# this test from hanging when "hg update" erroneously prompts the
# user for "keep or delete"
yes k | hg update 1
# we exit with 0 to avoid the unavoidable SIGPIPE from above causing
# us to fail this test
exit 0