diff -r b4b16e90712f -r c90d923fff64 mercurial/subrepo.py --- a/mercurial/subrepo.py Tue Mar 09 12:09:57 2010 +0100 +++ b/mercurial/subrepo.py Sun Mar 14 00:28:10 2010 +0100 @@ -193,8 +193,11 @@ fp.write('%s = %s\n' % (key, value)) self._repo.ui.setconfig('paths', key, value) - defpath = os.path.join(_abssource(ctx._repo), path) + defpath = _abssource(self._repo) + defpushpath = _abssource(self._repo, True) addpathconfig('default', defpath) + if defpath != defpushpath: + addpathconfig('default-push', defpushpath) fp.close() def dirty(self):