# HG changeset patch # User Mads Kiilerich # Date 2014-03-19 01:45:14 # Node ID d19c9bdbbf35541fd50787d4b3f9081f3527bb1d # Parent f144928dd058e9d9de759e03b37701281f32c665 config: don't set source when no source is specified - don't overwrite with '' This prevents ui.fixconfig from overwriting the source of paths and it will thus show up in showconfig --debug. 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