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.
+ mkdir test
+ cd test
+ echo foo
+ hg init
+ hg addremove
adding foo
+ hg commit -m 1
+ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
+ hg clone . ../branch
+ cd ../branch
+ hg co
+ echo bar
+ hg commit -m 2
+ cd ../test
+ hg pull ../branch
pulling from ../branch
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
+ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 2 changesets, 2 total revisions
+ hg co
+ cat foo
foo
bar
+ hg manifest
6f4310b00b9a147241b071a60c28a650827fb03d 644 foo