windows: factor the hgrc directory scan into a function
authorMatt Harbison <matt_harbison@yahoo.com>
Tue, 17 Dec 2019 21:25:54 -0500
changeset 43925 7929bb58146f
parent 43924 fa3835a15a17
child 43926 daed70e95d60
windows: factor the hgrc directory scan into a function Differential Revision: https://phab.mercurial-scm.org/D7691
mercurial/scmwindows.py
--- 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