##// 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).

File last commit:

r12285:5d9bc49b default
r24996:58308dde default
Show More
test-debugrename.t
18 lines | 371 B | text/troff | Tads3Lexer
/ tests / test-debugrename.t
Adrian Buehlmann
tests: unify test-debugrename
r12285 $ hg init
$ echo a > a
$ hg ci -Am t
adding a
$ hg mv a b
$ hg ci -Am t1
$ hg debugrename b
b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
$ hg mv b a
$ hg ci -Am t2
$ hg debugrename a
a renamed from b:37d9b5d994eab34eda9c16b195ace52c7b129980
$ hg debugrename --rev 1 b
b renamed from a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3