mq: don't inherit default and default-push paths with --mq (issue2333)

Configuration from the outer repo is inherited to the patches repo when --mq is
used.

In case the patches repo only has paths.default configured but the outer repo
has paths.default-push then the inherited default-push will win. Very
confusing.

Inheriting the default paths is however wrong in all sane cases, so now we
explicitly remove them.
This commit is contained in:
Mads Kiilerich 2010-08-18 02:43:45 +02:00
parent 285c18754a
commit b27d1fd3b8
2 changed files with 9 additions and 4 deletions

View File

@ -1487,8 +1487,11 @@ class queue(object):
return True
def qrepo(self, create=False):
ui = self.ui.copy()
ui.setconfig('paths', 'default', '', overlay=False)
ui.setconfig('paths', 'default-push', '', overlay=False)
if create or os.path.isdir(self.join(".hg")):
return hg.repository(self.ui, path=self.path, create=create)
return hg.repository(ui, path=self.path, create=create)
def restore(self, repo, rev, delete=None, qupdate=None):
desc = repo[rev].description().strip()

View File

@ -121,9 +121,11 @@ class ui(object):
self._trustusers.update(self.configlist('trusted', 'users'))
self._trustgroups.update(self.configlist('trusted', 'groups'))
def setconfig(self, section, name, value):
for cfg in (self._ocfg, self._tcfg, self._ucfg):
cfg.set(section, name, value)
def setconfig(self, section, name, value, overlay=True):
if overlay:
self._ocfg.set(section, name, value)
self._tcfg.set(section, name, value)
self._ucfg.set(section, name, value)
self.fixconfig()
def _data(self, untrusted):