# HG changeset patch # User Cédric Duval # Date 2009-06-29 17:28:54 # Node ID 119d1f664eaef7d84c972fd9d74ba35c33d47000 # Parent a4ceae3aa7be7e762b149a277a6b91dc0d045fa4 extensions: catch OSError when hgext is not accessible (issue1708) Temporary workaround for issue1708: on win32 with py2exe, hgext is distributed inside a zipped file (which anyway does not contain the py files from which we ought to extract the documentation strings), which raises a WindowsError (subclasses OSError). This means that on such platforms the list of disabled extensions won't be available. Real fix postponed for after Mercurial 1.3. diff --git a/mercurial/extensions.py b/mercurial/extensions.py --- a/mercurial/extensions.py +++ b/mercurial/extensions.py @@ -125,9 +125,14 @@ def disabled(): import hgext extpath = os.path.dirname(os.path.abspath(hgext.__file__)) + try: # might not be a filesystem path + files = os.listdir(extpath) + except OSError: + return None, 0 + exts = {} maxlength = 0 - for e in os.listdir(extpath): + for e in files: if e.endswith('.py'): name = e.rsplit('.', 1)[0]