diff mercurial/extensions.py @ 21229:54d7657d7d1e stable

setup.py, make: avoid problems with outdated, existing hgext/__index__.py* "make clean" already removed __index__.py[cdo], but not the __index__.py (automatically generated by "python setup.py build_hgextindex"). "setup.py build_hgextindex" did not generate a new index if file __index__.py[cdo] already existed, because if __index__.py was removed, the compiled file containing the old information was imported and used. Generate an empty file (with a new timestamp to generate a new .py[cdo]) instead and make mercurial.extensions ignore the unset docs attribute. One of the problems was a failed test-help.t, to reproduce: $ rm hgext/__index__.py* $ echo 'docs = {"mq": "dummy"}' > hgext/__index__.py $ make test-help.t With this a "make clean" or "python setup.py build_hgextindex" helps.
author Thomas Arendsen Hein <thomas@intevation.de>
date Mon, 05 May 2014 16:54:15 +0200
parents 7d83c3b6e8d9
children 711498bb4ff5
line wrap: on
line diff
--- a/mercurial/extensions.py	Sat May 03 03:29:30 2014 +0200
+++ b/mercurial/extensions.py	Mon May 05 16:54:15 2014 +0200
@@ -281,7 +281,7 @@
         return dict((name, gettext(desc))
                     for name, desc in __index__.docs.iteritems()
                     if name not in _order)
-    except ImportError:
+    except (ImportError, AttributeError):
         pass
 
     paths = _disabledpaths()
@@ -304,7 +304,7 @@
             return
         else:
             return gettext(__index__.docs.get(name))
-    except ImportError:
+    except (ImportError, AttributeError):
         pass
 
     paths = _disabledpaths()