##// END OF EJS Templates
tryimportone: use dirstateguard instead of beginparentchange/endparentchange...
tryimportone: use dirstateguard instead of beginparentchange/endparentchange To fix the issue that the recent (in memory) dirstate isn't visible to external process (e.g. "precommit" hook), a subsequent patch makes "localrepository.commit()" invoke "dirstate.write()" in it. This change will make "beginparentchange()" and "endparentchange()" on dirstate in "cmdutil.tryimportone()" meaningless, because: - "dirstate.write()" writes changed data into ".hg/dirstate", but - aborting between "beginparentchange()" and "endparentchange()" doesn't cause any restoring ".hg/dirstate" it just discards changes in memory. This patch uses "dirstateguard" instead of "beginparentchange()" and "endparentchange()" in "cmdutil.tryimportone()" to restore ".hg/dirstate" during a failure even if "dirstate.write()" is executed before a failure. This patch uses "lockmod.release(dsguard)" instead of "dsguard.release()", because processing may be aborted before assignment to "dsguard" , and the "if dsguard" examination for safety is redundant.

File last commit:

r12617:2063d36b default
r24995:0579b0c2 default
Show More
test-diffdir.t
40 lines | 597 B | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-diffdir
r11921 $ hg init
$ touch a
$ hg add a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "a"
Pradeepkumar Gayam
tests: unify test-diffdir
r11921
$ echo 123 > b
$ hg add b
$ hg diff --nodates
Martin Geisler
tests: remove unneeded -d flags...
r12156 diff -r 3903775176ed b
Pradeepkumar Gayam
tests: unify test-diffdir
r11921 --- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+123
$ hg diff --nodates -r tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 diff -r 3903775176ed b
Pradeepkumar Gayam
tests: unify test-diffdir
r11921 --- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+123
$ echo foo > a
$ hg diff --nodates
Martin Geisler
tests: remove unneeded -d flags...
r12156 diff -r 3903775176ed a
Pradeepkumar Gayam
tests: unify test-diffdir
r11921 --- a/a
+++ b/a
@@ -0,0 +1,1 @@
+foo
Martin Geisler
tests: remove unneeded -d flags...
r12156 diff -r 3903775176ed b
Pradeepkumar Gayam
tests: unify test-diffdir
r11921 --- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+123
$ hg diff -r ""
Matt Mackall
revsets: make revpair revsets-aware...
r12617 hg: parse error: empty query
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Pradeepkumar Gayam
tests: unify test-diffdir
r11921 $ hg diff -r tip -r ""
Matt Mackall
revsets: make revpair revsets-aware...
r12617 hg: parse error: empty query
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]