changeset 1141:56a3fc2086b3

compat: find listdir function in compat module
author Kevin Bullock <kbullock@ringworld.org>
date Wed, 07 Feb 2018 22:42:32 -0600
parents 583ac3ddd54b
children c651bb6fcf33
files hggit/compat.py hggit/gitdirstate.py
diffstat 2 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/hggit/compat.py	Wed Feb 07 22:37:28 2018 -0600
+++ b/hggit/compat.py	Wed Feb 07 22:42:32 2018 -0600
@@ -83,6 +83,13 @@
     except TypeError:
         phases.advanceboundary(repo, targetphase, nodes)
 
+# hg 4.3 - osutil moved, but mercurial.util re-exports listdir
+if hgutil.safehasattr(hgutil, 'listdir'):
+    listdir = hgutil.listdir
+else:
+    from mercurial import osutil
+    listdir = osutil.listdir
+
 
 try:
     import dulwich.client
--- a/hggit/gitdirstate.py	Wed Feb 07 22:37:28 2018 -0600
+++ b/hggit/gitdirstate.py	Wed Feb 07 22:42:32 2018 -0600
@@ -11,6 +11,8 @@
     util,
 )
 
+import compat
+
 # COMPAT: hg 3.5 - ignore module was removed
 try:
     from mercurial import ignore
@@ -164,12 +166,6 @@
         matchalways = match.always()
         matchtdir = match.traversedir
         dmap = self._map
-        # COMPAT: hg 4.3 - osutil moved, but util re-exports listdir
-        try:
-            listdir = util.listdir
-        except AttributeError:
-            from mercurial import osutil
-            listdir = osutil.listdir
         lstat = os.lstat
         dirkind = stat.S_IFDIR
         regkind = stat.S_IFREG
@@ -209,7 +205,7 @@
             else:
                 skip = '.hg'
             try:
-                entries = listdir(join(nd), stat=True, skip=skip)
+                entries = compat.listdir(join(nd), stat=True, skip=skip)
             except OSError, inst:
                 if inst.errno in (errno.EACCES, errno.ENOENT):
                     fwarn(nd, inst.strerror)