##// END OF EJS Templates
mq: use dirstateguard instead of dirstate.invalidate (qpush)...
mq: use dirstateguard instead of dirstate.invalidate (qpush) Before this patch, "mq.queue.apply()" uses "dirstate.invalidate()" as a kind of "restore .hg/dirstate to the original status" during afailure. But it just discards changes in memory, and doesn't actually restore ".hg/dirstate". Then, it can't work as expected, if "dirstate.write()" is executed while processing. This patch uses "dirstateguard" instead of "dirstate.invalidate()" to restore ".hg/dirstate" at failure even if "dirstate.write()" is executed before failure. This is a part of preparations to fix the issue that the recent (in memory) dirstate isn't visible to external processes (e.g. "precommit" hook).
FUJIWARA Katsunori -
r24996:58308dde default
Show More
Name Size Modified Last Commit Author
/ tests / bundles
darcs1.hg Loading ...
hgweb+obs.hg Loading ...
issue4041.hg Loading ...
issue4438-r1.hg Loading ...
issue4438-r2.hg Loading ...
legacy-encoding.hg Loading ...
rebase-revset.hg Loading ...
rebase.hg Loading ...
rebase.sh Loading ...
remote.hg Loading ...
remote.sh Loading ...
rename.sh Loading ...
renames.hg Loading ...
tampered.hg Loading ...
test-invalid-branch-name.hg Loading ...
test-keyword.hg Loading ...
test-manifest.hg Loading ...
test-merge-symlinks.hg Loading ...
test-no-symlinks.hg Loading ...