# HG changeset patch # User Gregory Szorc # Date 1429030456 14400 # Node ID 02a5618e2fbf29bca3b9045379a3666e441f2569 # Parent 774ee98001461ee9c61e0575f8778539712f6938 revset: don't import discovery at module level discovery.py imports a lot of the world. Pierre-Yves told me to move it to a function-level import to avoid an import cycle in a future patch. diff -r 774ee9800146 -r 02a5618e2fbf mercurial/revset.py --- a/mercurial/revset.py Tue Apr 14 10:59:26 2015 -0400 +++ b/mercurial/revset.py Tue Apr 14 12:54:16 2015 -0400 @@ -6,7 +6,7 @@ # GNU General Public License version 2 or any later version. import re -import parser, util, error, discovery, hbisect, phases +import parser, util, error, hbisect, phases import node import heapq import match as matchmod @@ -1372,7 +1372,9 @@ Changesets not found in the specified destination repository, or the default push location. """ - import hg # avoid start-up nasties + # Avoid cycles. + import discovery + import hg # i18n: "outgoing" is a keyword l = getargs(x, 0, 1, _("outgoing takes one or no arguments")) # i18n: "outgoing" is a keyword diff -r 774ee9800146 -r 02a5618e2fbf tests/test-module-imports.t --- a/tests/test-module-imports.t Tue Apr 14 10:59:26 2015 -0400 +++ b/tests/test-module-imports.t Tue Apr 14 12:54:16 2015 -0400 @@ -32,7 +32,7 @@ relative: error, merge, util mercurial/revset.py mixed imports stdlib: parser - relative: discovery, error, hbisect, phases, util + relative: error, hbisect, phases, util mercurial/templater.py mixed imports stdlib: parser relative: config, error, templatefilters, templatekw, util