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

r23348:bbe56e07 default
r24995:0579b0c2 default
Show More
test-config.t
92 lines | 1.7 KiB | text/troff | Tads3Lexer
FUJIWARA Katsunori
tests: rename from test-config-case.t to test-config.t for centralization...
r19086 hide outer repo
$ hg init
Pierre-Yves David
test-config: add tests for invalid syntax...
r22275 Invalid syntax: no value
$ cat > .hg/hgrc << EOF
> novaluekey
> EOF
$ hg showconfig
Matt Harbison
tests: fix globs for Windows...
r23348 hg: parse error at $TESTTMP/.hg/hgrc:1: novaluekey (glob)
Pierre-Yves David
test-config: add tests for invalid syntax...
r22275 [255]
Invalid syntax: no key
$ cat > .hg/hgrc << EOF
> =nokeyvalue
> EOF
$ hg showconfig
Matt Harbison
tests: fix globs for Windows...
r23348 hg: parse error at $TESTTMP/.hg/hgrc:1: =nokeyvalue (glob)
Pierre-Yves David
test-config: add tests for invalid syntax...
r22275 [255]
Razvan Cojocaru
config: highlight parse error caused by leading spaces (issue3214)...
r22276 Test hint about invalid syntax from leading white space
$ cat > .hg/hgrc << EOF
> key=value
> EOF
$ hg showconfig
Matt Harbison
tests: fix globs for Windows...
r23348 hg: parse error at $TESTTMP/.hg/hgrc:1: key=value (glob)
Razvan Cojocaru
config: highlight parse error caused by leading spaces (issue3214)...
r22276 unexpected leading whitespace
[255]
$ cat > .hg/hgrc << EOF
> [section]
> key=value
> EOF
$ hg showconfig
Matt Harbison
tests: fix globs for Windows...
r23348 hg: parse error at $TESTTMP/.hg/hgrc:1: [section] (glob)
Razvan Cojocaru
config: highlight parse error caused by leading spaces (issue3214)...
r22276 unexpected leading whitespace
[255]
Pierre-Yves David
test-config: add tests for invalid syntax...
r22275 Reset hgrc
$ echo > .hg/hgrc
FUJIWARA Katsunori
tests: rename from test-config-case.t to test-config.t for centralization...
r19086 Test case sensitive configuration
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [Section]
> KeY = Case Sensitive
> key = lower case
> EOF
FUJIWARA Katsunori
tests: rename from test-config-case.t to test-config.t for centralization...
r19086
$ hg showconfig Section
Section.KeY=Case Sensitive
Section.key=lower case
FUJIWARA Katsunori
config: discard "%unset" values defined in the other files read in previously...
r19087 Test "%unset"
$ cat >> $HGRCPATH <<EOF
> [unsettest]
> local-hgrcpath = should be unset (HGRCPATH)
> %unset local-hgrcpath
>
> global = should be unset (HGRCPATH)
>
> both = should be unset (HGRCPATH)
>
> set-after-unset = should be unset (HGRCPATH)
> EOF
$ cat >> .hg/hgrc <<EOF
> [unsettest]
> local-hgrc = should be unset (.hg/hgrc)
> %unset local-hgrc
>
> %unset global
>
> both = should be unset (.hg/hgrc)
> %unset both
>
> set-after-unset = should be unset (.hg/hgrc)
> %unset set-after-unset
> set-after-unset = should be set (.hg/hgrc)
> EOF
$ hg showconfig unsettest
unsettest.set-after-unset=should be set (.hg/hgrc)
Aaron Kushner
config: exit non zero on non-existent config option (issue4247)...
r22316
Test exit code when no config matches
$ hg config Section.idontexist
[1]