Show More
@@ -996,8 +996,18 b' class paths(dict):' | |||||
996 | # No location is the same as not existing. |
|
996 | # No location is the same as not existing. | |
997 | if not loc: |
|
997 | if not loc: | |
998 | continue |
|
998 | continue | |
|
999 | ||||
|
1000 | # TODO ignore default-push once all consumers stop referencing it | |||
|
1001 | # since it is handled specifically below. | |||
|
1002 | ||||
999 | self[name] = path(name, rawloc=loc) |
|
1003 | self[name] = path(name, rawloc=loc) | |
1000 |
|
1004 | |||
|
1005 | # Handle default-push, which is a one-off that defines the push URL for | |||
|
1006 | # the "default" path. | |||
|
1007 | defaultpush = ui.config('paths', 'default-push') | |||
|
1008 | if defaultpush and 'default' in self: | |||
|
1009 | self['default']._pushloc = defaultpush | |||
|
1010 | ||||
1001 | def getpath(self, name, default=None): |
|
1011 | def getpath(self, name, default=None): | |
1002 | """Return a ``path`` from a string, falling back to a default. |
|
1012 | """Return a ``path`` from a string, falling back to a default. | |
1003 |
|
1013 | |||
@@ -1027,11 +1037,12 b' class paths(dict):' | |||||
1027 | class path(object): |
|
1037 | class path(object): | |
1028 | """Represents an individual path and its configuration.""" |
|
1038 | """Represents an individual path and its configuration.""" | |
1029 |
|
1039 | |||
1030 | def __init__(self, name, rawloc=None): |
|
1040 | def __init__(self, name, rawloc=None, pushloc=None): | |
1031 | """Construct a path from its config options. |
|
1041 | """Construct a path from its config options. | |
1032 |
|
1042 | |||
1033 | ``name`` is the symbolic name of the path. |
|
1043 | ``name`` is the symbolic name of the path. | |
1034 | ``rawloc`` is the raw location, as defined in the config. |
|
1044 | ``rawloc`` is the raw location, as defined in the config. | |
|
1045 | ``pushloc`` is the raw locations pushes should be made to. | |||
1035 |
|
1046 | |||
1036 | If ``name`` is not defined, we require that the location be a) a local |
|
1047 | If ``name`` is not defined, we require that the location be a) a local | |
1037 | filesystem path with a .hg directory or b) a URL. If not, |
|
1048 | filesystem path with a .hg directory or b) a URL. If not, | |
@@ -1053,6 +1064,7 b' class path(object):' | |||||
1053 | self.name = name |
|
1064 | self.name = name | |
1054 | self.rawloc = rawloc |
|
1065 | self.rawloc = rawloc | |
1055 | self.loc = str(u) |
|
1066 | self.loc = str(u) | |
|
1067 | self._pushloc = pushloc | |||
1056 |
|
1068 | |||
1057 | # When given a raw location but not a symbolic name, validate the |
|
1069 | # When given a raw location but not a symbolic name, validate the | |
1058 | # location is valid. |
|
1070 | # location is valid. | |
@@ -1061,6 +1073,10 b' class path(object):' | |||||
1061 | raise ValueError('location is not a URL or path to a local ' |
|
1073 | raise ValueError('location is not a URL or path to a local ' | |
1062 | 'repo: %s' % rawloc) |
|
1074 | 'repo: %s' % rawloc) | |
1063 |
|
1075 | |||
|
1076 | @property | |||
|
1077 | def pushloc(self): | |||
|
1078 | return self._pushloc or self.loc | |||
|
1079 | ||||
1064 | # we instantiate one globally shared progress bar to avoid |
|
1080 | # we instantiate one globally shared progress bar to avoid | |
1065 | # competing progress bars when multiple UI objects get created |
|
1081 | # competing progress bars when multiple UI objects get created | |
1066 | _progresssingleton = None |
|
1082 | _progresssingleton = None |
General Comments 0
You need to be logged in to leave comments.
Login now