Mercurial > public > mercurial-scm > hg-stable
diff mercurial/ui.py @ 26820:71d5238f92e9 stable
ui: support paths.default-push without paths.default set (issue4914)
This behavior regressed as part of the paths API refactoring. Previous
behavior was to accept "default-push" without "default" defined. Current
behavior aborts with "default repository not configured!." This patch
restores the old behavior and adds test coverage for the scenario, which
was absent before.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 22 Oct 2015 18:59:03 +0000 |
parents | 1aee2ab0f902 |
children | 5e46123e6c35 00aa37c65e0a |
line wrap: on
line diff
--- a/mercurial/ui.py Wed Oct 21 16:21:27 2015 -0500 +++ b/mercurial/ui.py Thu Oct 22 18:59:03 2015 +0000 @@ -1026,7 +1026,11 @@ # Handle default-push, which is a one-off that defines the push URL for # the "default" path. defaultpush = ui.config('paths', 'default-push') - if defaultpush and 'default' in self: + if defaultpush: + # "default-push" can be defined without "default" entry. This is a + # bit weird, but is allowed for backwards compatibility. + if 'default' not in self: + self['default'] = path('default', rawloc=defaultpush) self['default']._pushloc = defaultpush def getpath(self, name, default=None):