##// 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:

r25364:de23a552 default
r25879:99e88320 stable
Show More
test-bad-extension.t
46 lines | 1.6 KiB | text/troff | Tads3Lexer
/ tests / test-bad-extension.t
Martin Geisler
tests: unify test-bad-extension
r11858 $ echo 'raise Exception("bit bucket overflow")' > badext.py
$ abspath=`pwd`/badext.py
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> gpg =
> hgext.gpg =
> badext = $abspath
> badext2 =
> EOF
Martin Geisler
tests: unify test-bad-extension
r11858
$ hg -q help help
Mads Kiilerich
tests: remove redundant globs...
r12640 *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
Brodie Rao
tests: require regexes in unified tests to be marked with " (re)"...
r12375 *** failed to import extension badext2: No module named badext2
Martin Geisler
help: add -c/--command flag to only show command help (issue2799)
r14286 hg help [-ec] [TOPIC]
Martin Geisler
tests: unify test-bad-extension
r11858
show help for a given topic or a help overview
Yuya Nishihara
extensions: show traceback on load failure if --traceback flag is set...
r25364
show traceback
$ hg -q help help --traceback 2>&1 | grep -v '^ '
*** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
Traceback (most recent call last):
Exception: bit bucket overflow
*** failed to import extension badext2: No module named badext2
Traceback (most recent call last):
ImportError: No module named badext2
hg help [-ec] [TOPIC]
show help for a given topic or a help overview
show traceback for ImportError of hgext.name if debug is set
(note that --debug option isn't applied yet when loading extensions)
$ hg help help --traceback --config ui.debug=True 2>&1 \
> | grep -v '^ ' | head -n10
*** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
Traceback (most recent call last):
Exception: bit bucket overflow
could not import hgext.badext2 (No module named badext2): trying badext2
Traceback (most recent call last):
ImportError: No module named badext2
*** failed to import extension badext2: No module named badext2
Traceback (most recent call last):
ImportError: No module named badext2
hg help [-ec] [TOPIC]