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 init
+ echo a
+ hg add a
+ hg commit -m test -d '0 0'
+ hg history
changeset: 0:acb14030fe0a
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970
summary: test
+ hg tag -d '0 0' bleah
+ hg history
changeset: 1:863197ef0378
tag: tip
user: test
date: Thu Jan 1 00:00:00 1970
summary: Added tag bleah for changeset acb14030fe0a21b60322c440ad2d20cf7685a376
changeset: 0:acb14030fe0a
tag: bleah
user: test
date: Thu Jan 1 00:00:00 1970
summary: test
+ echo foo
+ hg tag -d '0 0' bleah2
abort: working copy of .hgtags is changed!
(please commit .hgtags manually)
+ echo failed
failed