##// END OF EJS Templates
localrepo: make journal.dirstate contain in-memory changes before transaction...
localrepo: make journal.dirstate contain in-memory changes before transaction Before this patch, in-memory dirstate changes aren't written out at opening transaction, even though 'journal.dirstate' is created directly from '.hg/dirstate'. Therefore, subsequent 'hg rollback' uses incomplete 'undo.dirstate' to restore dirstate, if dirstate is changed and isn't written out before opening transaction. In cases below, the condition "dirstate is changed and isn't written out before opening transaction" isn't satisfied and this problem doesn't appear: - "wlock scope" and "transaction scope" are almost equivalent e.g. 'commit --amend', 'import' and so on - dirstate changes are written out before opening transaction e.g. 'rebase' (via 'dirstateguard') and 'commit -A' (by separated wlock scopes) On the other hand, 'backout' may satisfy the condition above. To make 'journal.dirstate' contain in-memory changes before opening transaction, this patch explicitly invokes 'dirstate.write()' in 'localrepository.transaction()'. 'dirstate.write()' is placed before not "writing journal files out" but "invoking pretxnopen hooks" for visibility of dirstate changes to external hook processes. BTW, in the test script, 'touch -t 200001010000' and 'hg status' are invoked to make file 'c' surely clean in dirstate, because "clean but unsure" files indirectly cause 'dirstate.write()' at 'repo.status()' in 'repo.commit()' (see fe03f522dda9 for detail) and prevents from certainly reproducing the issue.

File last commit:

r24043:1fdb1d90 default
r25878:800e090e stable
Show More
test-gendoc.t
63 lines | 1.7 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require docutils
Eric Sumner
test-gendoc: require gettext...
r24043 #require gettext
Matt Mackall
tests: replace exit 80 with #require
r22046
Matt Mackall
tests: unify test-gendoc
r12427 Test document extraction
$ HGENCODING=UTF-8
$ export HGENCODING
Simon Heimberg
tests: use ls instead of find, all files are in the same directory...
r20390 $ { echo C; ls "$TESTDIR/../i18n"/*.po | sort; } | while read PO; do
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 > LOCALE=`basename "$PO" .po`
Matt Mackall
tests: unify test-gendoc
r12427 > echo
> echo "% extracting documentation from $LOCALE"
> echo ".. -*- coding: utf-8 -*-" > gendoc-$LOCALE.txt
> echo "" >> gendoc-$LOCALE.txt
Simon Heimberg
tests: really test translations for rst syntax errors (issue4003)...
r19922 > LANGUAGE=$LOCALE python "$TESTDIR/../doc/gendoc.py" >> gendoc-$LOCALE.txt 2> /dev/null || exit
Matt Mackall
tests: unify test-gendoc
r12427 >
Simon Heimberg
tests: test-gendoc.t checks if anything was translated...
r19923 > if [ $LOCALE != C ]; then
> cmp -s gendoc-C.txt gendoc-$LOCALE.txt && echo '** NOTHING TRANSLATED **'
> fi
>
Matt Mackall
tests: unify test-gendoc
r12427 > # We call runrst without adding "--halt warning" to make it report
> # all errors instead of stopping on the first one.
> echo "checking for parse errors"
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 > python "$TESTDIR/../doc/runrst" html gendoc-$LOCALE.txt /dev/null
Matt Mackall
tests: unify test-gendoc
r12427 > done
% extracting documentation from C
checking for parse errors
% extracting documentation from da
checking for parse errors
% extracting documentation from de
checking for parse errors
% extracting documentation from el
checking for parse errors
% extracting documentation from fr
checking for parse errors
% extracting documentation from it
checking for parse errors
% extracting documentation from ja
checking for parse errors
% extracting documentation from pt_BR
checking for parse errors
% extracting documentation from ro
checking for parse errors
Martin Geisler
test-gendoc: update for new Russian translation
r14475 % extracting documentation from ru
checking for parse errors
Matt Mackall
tests: unify test-gendoc
r12427 % extracting documentation from sv
checking for parse errors
% extracting documentation from zh_CN
checking for parse errors
% extracting documentation from zh_TW
checking for parse errors