windows: factor the hgrc directory scan into a function
Differential Revision: https://phab.mercurial-scm.org/D7691
--- a/mercurial/scmwindows.py Tue Dec 17 21:21:36 2019 -0500
+++ b/mercurial/scmwindows.py Tue Dec 17 21:25:54 2019 -0500
@@ -28,12 +28,16 @@
# Use mercurial.ini found in directory with hg.exe
progrc = os.path.join(os.path.dirname(filename), b'mercurial.ini')
rcpath.append(progrc)
+
+ def _processdir(progrcd):
+ if os.path.isdir(progrcd):
+ for f, kind in util.listdir(progrcd):
+ if f.endswith(b'.rc'):
+ rcpath.append(os.path.join(progrcd, f))
+
# Use hgrc.d found in directory with hg.exe
- progrcd = os.path.join(os.path.dirname(filename), b'hgrc.d')
- if os.path.isdir(progrcd):
- for f, kind in util.listdir(progrcd):
- if f.endswith(b'.rc'):
- rcpath.append(os.path.join(progrcd, f))
+ _processdir(os.path.join(os.path.dirname(filename), b'hgrc.d'))
+
# next look for a system rcpath in the registry
value = util.lookupreg(
b'SOFTWARE\\Mercurial', None, winreg.HKEY_LOCAL_MACHINE
@@ -43,10 +47,8 @@
for p in value.split(pycompat.ospathsep):
if p.lower().endswith(b'mercurial.ini'):
rcpath.append(p)
- elif os.path.isdir(p):
- for f, kind in util.listdir(p):
- if f.endswith(b'.rc'):
- rcpath.append(os.path.join(p, f))
+ else:
+ _processdir(p)
return rcpath