schemes: fix a broken check for drive letter conflicts
authorMatt Harbison <matt_harbison@yahoo.com>
Thu, 05 Jan 2023 17:02:02 -0500
changeset 49850 bcc45b33efb2
parent 49849 de9ffb82ef4d
child 49851 a47e86e8fd51
schemes: fix a broken check for drive letter conflicts Flagged by pytype locally. It appears to have regressed in 1863584f2fba (not yet released). This seems like an obvious typo- `dict.isalpha()` is nonsense. There's no crash though because `schemes` is pre-populated with 5 schemes (that are all now defunct), so the length of the dict is never 1, so it's impossible to abort.
hgext/schemes.py
--- a/hgext/schemes.py	Fri Jan 06 13:04:50 2023 -0500
+++ b/hgext/schemes.py	Thu Jan 05 17:02:02 2023 -0500
@@ -135,7 +135,7 @@
 }
 
 
-def _check_drive_letter(scheme):
+def _check_drive_letter(scheme: bytes) -> None:
     """check if a scheme conflict with a Windows drive letter"""
     if (
         pycompat.iswindows
@@ -152,7 +152,7 @@
     schemes.update(dict(ui.configitems(b'schemes')))
     t = templater.engine(templater.parse)
     for scheme, url in schemes.items():
-        _check_drive_letter(schemes)
+        _check_drive_letter(scheme)
         url_scheme = urlutil.url(url).scheme
         if url_scheme in hg.peer_schemes:
             hg.peer_schemes[scheme] = ShortRepository(url, scheme, t)