Mercurial > hg
comparison mercurial/ui.py @ 27264:e07003a94ef3
ui: store pushloc as separate attribute
The magic @property is going to interfere with the ability to print
path sub-options. We only access it in one location and it is trivial
to in-line, so do that.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 06 Dec 2015 11:49:02 -0800 |
parents | f43988e5954c |
children | 47539ea08bdb |
comparison
equal
deleted
inserted
replaced
27263:4efb36ecaaec | 27264:e07003a94ef3 |
---|---|
1079 if defaultpush: | 1079 if defaultpush: |
1080 # "default-push" can be defined without "default" entry. This is a | 1080 # "default-push" can be defined without "default" entry. This is a |
1081 # bit weird, but is allowed for backwards compatibility. | 1081 # bit weird, but is allowed for backwards compatibility. |
1082 if 'default' not in self: | 1082 if 'default' not in self: |
1083 self['default'] = path('default', rawloc=defaultpush) | 1083 self['default'] = path('default', rawloc=defaultpush) |
1084 self['default']._pushloc = defaultpush | 1084 self['default'].pushloc = defaultpush |
1085 | 1085 |
1086 def getpath(self, name, default=None): | 1086 def getpath(self, name, default=None): |
1087 """Return a ``path`` from a string, falling back to a default. | 1087 """Return a ``path`` from a string, falling back to a default. |
1088 | 1088 |
1089 ``name`` can be a named path or locations. Locations are filesystem | 1089 ``name`` can be a named path or locations. Locations are filesystem |
1147 self.branch = branch | 1147 self.branch = branch |
1148 | 1148 |
1149 self.name = name | 1149 self.name = name |
1150 self.rawloc = rawloc | 1150 self.rawloc = rawloc |
1151 self.loc = str(u) | 1151 self.loc = str(u) |
1152 self._pushloc = pushloc | 1152 self.pushloc = pushloc |
1153 | 1153 |
1154 # When given a raw location but not a symbolic name, validate the | 1154 # When given a raw location but not a symbolic name, validate the |
1155 # location is valid. | 1155 # location is valid. |
1156 if not name and not u.scheme and not self._isvalidlocalpath(self.loc): | 1156 if not name and not u.scheme and not self._isvalidlocalpath(self.loc): |
1157 raise ValueError('location is not a URL or path to a local ' | 1157 raise ValueError('location is not a URL or path to a local ' |
1161 """Returns True if the given path is a potentially valid repository. | 1161 """Returns True if the given path is a potentially valid repository. |
1162 This is its own function so that extensions can change the definition of | 1162 This is its own function so that extensions can change the definition of |
1163 'valid' in this case (like when pulling from a git repo into a hg | 1163 'valid' in this case (like when pulling from a git repo into a hg |
1164 one).""" | 1164 one).""" |
1165 return os.path.isdir(os.path.join(path, '.hg')) | 1165 return os.path.isdir(os.path.join(path, '.hg')) |
1166 | |
1167 @property | |
1168 def pushloc(self): | |
1169 return self._pushloc or self.loc | |
1170 | 1166 |
1171 # we instantiate one globally shared progress bar to avoid | 1167 # we instantiate one globally shared progress bar to avoid |
1172 # competing progress bars when multiple UI objects get created | 1168 # competing progress bars when multiple UI objects get created |
1173 _progresssingleton = None | 1169 _progresssingleton = None |
1174 | 1170 |