##// END OF EJS Templates
transplant: restore dirstate correctly at unexpected failure...
transplant: restore dirstate correctly at unexpected failure Before this patch, transplant can't restore dirstate as expected at failure other than one while patching. This causes: - unexpected file status - dirstate refers already rollback-ed parent (only at failure of transplanting the 2nd or later revision) To restore dirstate correctly also at unexpected failure, this patch encloses scope of store lock and transaction by 'dirstateguard'. This is temporary fixing for stable branch. See DirstateTransactionPlan wiki page for detail about the future plan to treat dirstate consistently around scope boundary of transaction. https://mercurial.selenic.com/wiki/DirstateTransactionPlan This patch also adds 'if lock' examination for safety 'lock.release()', because creating 'dirstateguard' object may fail unexpectedly (e.g. IOError for saving dirstate). BTW, in the test script, putting section header '[extensions]' into '.hg/hgrc' is needed to fix incomplete disabling 'abort' extension at 4d1382fd96ff.

File last commit:

r19124:4cdec37f default
r25879:99e88320 stable
Show More
test-nested-repo.t
44 lines | 587 B | text/troff | Tads3Lexer
/ tests / test-nested-repo.t
Adrian Buehlmann
combine tests
r12279 $ hg init a
$ cd a
$ hg init b
$ echo x > b/x
Should print nothing:
$ hg add b
$ hg st
Siddharth Agarwal
test-nested-repo.t: touch another file inside nested repo...
r19124 $ echo y > b/y
$ hg st
Adrian Buehlmann
combine tests
r12279 Should fail:
$ hg st b/x
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 abort: path 'b/x' is inside nested repo 'b' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279 $ hg add b/x
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 abort: path 'b/x' is inside nested repo 'b' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279
Should fail:
$ hg add b b/x
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 abort: path 'b/x' is inside nested repo 'b' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279 $ hg st
Should arguably print nothing:
$ hg st b
$ echo a > a
$ hg ci -Ama a
Should fail:
$ hg mv a b
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 abort: path 'b/a' is inside nested repo 'b' (glob)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279 $ hg st
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..