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.
+ hg clone http://localhost:20059/ copy
requesting all changes
abort: error: Connection refused
+ echo 255
255
+ ls copy
ls: copy: No such file or directory
+ cat
+ set +x
+ hg clone http://localhost:20059/foo copy2
requesting all changes
abort: HTTP Error 404: File not found
+ echo 255
255
+ set +x