# HG changeset patch # User Cédric Duval # Date 1246296534 -7200 # 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 -r a4ceae3aa7be -r 119d1f664eae mercurial/extensions.py --- a/mercurial/extensions.py Wed May 06 16:27:50 2009 -0400 +++ b/mercurial/extensions.py Mon Jun 29 19:28:54 2009 +0200 @@ -125,9 +125,14 @@ 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]