Mercurial > hg-stable
view tests/test-config.t @ 19087:7d82ad4b3727 stable
config: discard "%unset" values defined in the other files read in previously
Before this patch, "%unset" can't unset values defined in the other
files read in previously, even though online help document says that
it can. It can unset only values defined in the same configuration
file.
For example, the value defined in "~/.hgrc" can't be unset by "%unset"
in ".hg/hgrc" of the repository.
This patch records "%unset"-ed values in "config.parse()", and
discards corresponding values in "config.update()".
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Fri, 26 Apr 2013 23:36:12 +0900 |
parents | 8fb8dce3f9b6 |
children | d9a8017dce10 816be4ca4ae2 |
line wrap: on
line source
hide outer repo $ hg init Test case sensitive configuration $ echo '[Section]' >> $HGRCPATH $ echo 'KeY = Case Sensitive' >> $HGRCPATH $ echo 'key = lower case' >> $HGRCPATH $ hg showconfig Section Section.KeY=Case Sensitive Section.key=lower case 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)