diff --git a/mercurial/config.py b/mercurial/config.py --- a/mercurial/config.py +++ b/mercurial/config.py @@ -93,7 +93,8 @@ class config(object): if section not in self: self._data[section] = sortdict() self._data[section][item] = value - self._source[(section, item)] = source + if source: + self._source[(section, item)] = source def restore(self, data): """restore data returned by self.backup""" diff --git a/tests/test-hgrc.t b/tests/test-hgrc.t --- a/tests/test-hgrc.t +++ b/tests/test-hgrc.t @@ -201,3 +201,14 @@ plain mode with exceptions --verbose: ui.verbose=False --debug: ui.debug=True --quiet: ui.quiet=False + +source of paths is not mangled + + $ cat >> $HGRCPATH < [paths] + > foo = bar + > EOF + $ hg showconfig --debug paths + plain: True + read config from: $TESTTMP/hgrc + $TESTTMP/hgrc:17: paths.foo=$TESTTMP/bar