author | Danek Duvall <danek.duvall@oracle.com> |
Tue, 29 Mar 2016 13:06:14 -0700 | |
branch | s11u3-sru |
changeset 5721 | 153e2c170241 |
permissions | -rw-r--r-- |
5721
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
1 |
Mercurial's demandload system is incompatible with sqlalchemy. |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
|
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
This was reported upstream as |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
4 |
|
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
https://bz.mercurial-scm.org/show_bug.cgi?id=5085 |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
|
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
7 |
and is available in the upstream repository in changesets c25e3fd38ff1 and |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
8 |
9ff7261cc0f5. |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
9 |
|
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
10 |
diff --git a/mercurial/demandimport.py b/mercurial/demandimport.py |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
--- a/mercurial/demandimport.py |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
+++ b/mercurial/demandimport.py |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
@@ -174,7 +174,12 @@ def _demandimport(name, globals=None, lo |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
""" |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
symbol = getattr(mod, attr, nothing) |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
16 |
if symbol is nothing: |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
17 |
- symbol = _demandmod(attr, mod.__dict__, locals, level=1) |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
18 |
+ mn = '%s.%s' % (mod.__name__, attr) |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
19 |
+ if mn in ignore: |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
+ importfunc = _origimport |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
21 |
+ else: |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
22 |
+ importfunc = _demandmod |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
23 |
+ symbol = importfunc(attr, mod.__dict__, locals, level=1) |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
24 |
setattr(mod, attr, symbol) |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
25 |
|
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
26 |
# Record the importing module references this symbol so we can |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
@@ -250,6 +255,7 @@ ignore = [ |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
'_sre', # issue4920 |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
'rfc822', |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
'mimetools', |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
+ 'sqlalchemy.events', # has import-time side effects (issue5085) |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
# setuptools 8 expects this module to explode early when not on windows |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
'distutils.msvc9compiler' |
153e2c170241
23018272 mercurial 3.7.3
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
] |