Show More
@@ -119,23 +119,24 b' schemes = {' | |||||
119 | } |
|
119 | } | |
120 |
|
120 | |||
121 |
|
121 | |||
|
122 | def _check_drive_letter(scheme): | |||
|
123 | """check if a scheme conflict with a Windows drive letter""" | |||
|
124 | if ( | |||
|
125 | pycompat.iswindows | |||
|
126 | and len(scheme) == 1 | |||
|
127 | and scheme.isalpha() | |||
|
128 | and os.path.exists(b'%s:\\' % scheme) | |||
|
129 | ): | |||
|
130 | msg = _(b'custom scheme %s:// conflicts with drive letter %s:\\\n') | |||
|
131 | msg %= (scheme, scheme.upper()) | |||
|
132 | raise error.Abort(msg) | |||
|
133 | ||||
|
134 | ||||
122 | def extsetup(ui): |
|
135 | def extsetup(ui): | |
123 | schemes.update(dict(ui.configitems(b'schemes'))) |
|
136 | schemes.update(dict(ui.configitems(b'schemes'))) | |
124 | t = templater.engine(templater.parse) |
|
137 | t = templater.engine(templater.parse) | |
125 | for scheme, url in schemes.items(): |
|
138 | for scheme, url in schemes.items(): | |
126 | if ( |
|
139 | _check_drive_letter(schemes) | |
127 | pycompat.iswindows |
|
|||
128 | and len(scheme) == 1 |
|
|||
129 | and scheme.isalpha() |
|
|||
130 | and os.path.exists(b'%s:\\' % scheme) |
|
|||
131 | ): |
|
|||
132 | raise error.Abort( |
|
|||
133 | _( |
|
|||
134 | b'custom scheme %s:// conflicts with drive ' |
|
|||
135 | b'letter %s:\\\n' |
|
|||
136 | ) |
|
|||
137 | % (scheme, scheme.upper()) |
|
|||
138 | ) |
|
|||
139 | url_scheme = urlutil.url(url).scheme |
|
140 | url_scheme = urlutil.url(url).scheme | |
140 | if url_scheme in hg.peer_schemes: |
|
141 | if url_scheme in hg.peer_schemes: | |
141 | hg.peer_schemes[scheme] = ShortRepository(url, scheme, t) |
|
142 | hg.peer_schemes[scheme] = ShortRepository(url, scheme, t) |
General Comments 0
You need to be logged in to leave comments.
Login now