##// END OF EJS Templates
py3: make gendoc use absolute_import...
Pulkit Goyal -
r28966:ea1fab52 default
parent child Browse files
Show More
@@ -1,209 +1,223 b''
1 1 #!/usr/bin/env python
2 2 """usage: %s DOC ...
3 3
4 4 where DOC is the name of a document
5 5 """
6 6
7 import os, sys, textwrap
7 from __future__ import absolute_import
8
9 import os
10 import sys
11 import textwrap
8 12
9 13 # This script is executed during installs and may not have C extensions
10 14 # available. Relax C module requirements.
11 15 os.environ['HGMODULEPOLICY'] = 'allow'
12 16 # import from the live mercurial repo
13 17 sys.path.insert(0, "..")
14 18 from mercurial import demandimport; demandimport.enable()
15 from mercurial import minirst
16 from mercurial.commands import table, globalopts
17 from mercurial.i18n import gettext, _
18 from mercurial.help import helptable, loaddoc
19 from mercurial import extensions
20 from mercurial import ui as uimod
19 from mercurial import (
20 commands,
21 extensions,
22 help,
23 minirst,
24 ui as uimod,
25 )
26 from mercurial.i18n import (
27 gettext,
28 _,
29 )
30
31 table = commands.table
32 globalopts = commands.globalopts
33 helptable = help.helptable
34 loaddoc = help.loaddoc
21 35
22 36 def get_desc(docstr):
23 37 if not docstr:
24 38 return "", ""
25 39 # sanitize
26 40 docstr = docstr.strip("\n")
27 41 docstr = docstr.rstrip()
28 42 shortdesc = docstr.splitlines()[0].strip()
29 43
30 44 i = docstr.find("\n")
31 45 if i != -1:
32 46 desc = docstr[i + 2:]
33 47 else:
34 48 desc = shortdesc
35 49
36 50 desc = textwrap.dedent(desc)
37 51
38 52 return (shortdesc, desc)
39 53
40 54 def get_opts(opts):
41 55 for opt in opts:
42 56 if len(opt) == 5:
43 57 shortopt, longopt, default, desc, optlabel = opt
44 58 else:
45 59 shortopt, longopt, default, desc = opt
46 60 optlabel = _("VALUE")
47 61 allopts = []
48 62 if shortopt:
49 63 allopts.append("-%s" % shortopt)
50 64 if longopt:
51 65 allopts.append("--%s" % longopt)
52 66 if isinstance(default, list):
53 67 allopts[-1] += " <%s[+]>" % optlabel
54 68 elif (default is not None) and not isinstance(default, bool):
55 69 allopts[-1] += " <%s>" % optlabel
56 70 if '\n' in desc:
57 71 # only remove line breaks and indentation
58 72 desc = ' '.join(l.lstrip() for l in desc.split('\n'))
59 73 desc += default and _(" (default: %s)") % default or ""
60 74 yield (", ".join(allopts), desc)
61 75
62 76 def get_cmd(cmd, cmdtable):
63 77 d = {}
64 78 attr = cmdtable[cmd]
65 79 cmds = cmd.lstrip("^").split("|")
66 80
67 81 d['cmd'] = cmds[0]
68 82 d['aliases'] = cmd.split("|")[1:]
69 83 d['desc'] = get_desc(gettext(attr[0].__doc__))
70 84 d['opts'] = list(get_opts(attr[1]))
71 85
72 86 s = 'hg ' + cmds[0]
73 87 if len(attr) > 2:
74 88 if not attr[2].startswith('hg'):
75 89 s += ' ' + attr[2]
76 90 else:
77 91 s = attr[2]
78 92 d['synopsis'] = s.strip()
79 93
80 94 return d
81 95
82 96 def showdoc(ui):
83 97 # print options
84 98 ui.write(minirst.section(_("Options")))
85 99 multioccur = False
86 100 for optstr, desc in get_opts(globalopts):
87 101 ui.write("%s\n %s\n\n" % (optstr, desc))
88 102 if optstr.endswith("[+]>"):
89 103 multioccur = True
90 104 if multioccur:
91 105 ui.write(_("\n[+] marked option can be specified multiple times\n"))
92 106 ui.write("\n")
93 107
94 108 # print cmds
95 109 ui.write(minirst.section(_("Commands")))
96 110 commandprinter(ui, table, minirst.subsection)
97 111
98 112 # print help topics
99 113 # The config help topic is included in the hgrc.5 man page.
100 114 helpprinter(ui, helptable, minirst.section, exclude=['config'])
101 115
102 116 ui.write(minirst.section(_("Extensions")))
103 117 ui.write(_("This section contains help for extensions that are "
104 118 "distributed together with Mercurial. Help for other "
105 119 "extensions is available in the help system."))
106 120 ui.write("\n\n"
107 121 ".. contents::\n"
108 122 " :class: htmlonly\n"
109 123 " :local:\n"
110 124 " :depth: 1\n\n")
111 125
112 126 for extensionname in sorted(allextensionnames()):
113 127 mod = extensions.load(ui, extensionname, None)
114 128 ui.write(minirst.subsection(extensionname))
115 129 ui.write("%s\n\n" % gettext(mod.__doc__))
116 130 cmdtable = getattr(mod, 'cmdtable', None)
117 131 if cmdtable:
118 132 ui.write(minirst.subsubsection(_('Commands')))
119 133 commandprinter(ui, cmdtable, minirst.subsubsubsection)
120 134
121 135 def showtopic(ui, topic):
122 136 extrahelptable = [
123 137 (["common"], '', loaddoc('common')),
124 138 (["hg.1"], '', loaddoc('hg.1')),
125 139 (["hgignore.5"], '', loaddoc('hgignore.5')),
126 140 (["hgrc.5"], '', loaddoc('hgrc.5')),
127 141 (["hgignore.5.gendoc"], '', loaddoc('hgignore')),
128 142 (["hgrc.5.gendoc"], '', loaddoc('config')),
129 143 ]
130 144 helpprinter(ui, helptable + extrahelptable, None, include=[topic])
131 145
132 146 def helpprinter(ui, helptable, sectionfunc, include=[], exclude=[]):
133 147 for names, sec, doc in helptable:
134 148 if exclude and names[0] in exclude:
135 149 continue
136 150 if include and names[0] not in include:
137 151 continue
138 152 for name in names:
139 153 ui.write(".. _%s:\n" % name)
140 154 ui.write("\n")
141 155 if sectionfunc:
142 156 ui.write(sectionfunc(sec))
143 157 if callable(doc):
144 158 doc = doc(ui)
145 159 ui.write(doc)
146 160 ui.write("\n")
147 161
148 162 def commandprinter(ui, cmdtable, sectionfunc):
149 163 h = {}
150 164 for c, attr in cmdtable.items():
151 165 f = c.split("|")[0]
152 166 f = f.lstrip("^")
153 167 h[f] = c
154 168 cmds = h.keys()
155 169 cmds.sort()
156 170
157 171 for f in cmds:
158 172 if f.startswith("debug"):
159 173 continue
160 174 d = get_cmd(h[f], cmdtable)
161 175 ui.write(sectionfunc(d['cmd']))
162 176 # short description
163 177 ui.write(d['desc'][0])
164 178 # synopsis
165 179 ui.write("::\n\n")
166 180 synopsislines = d['synopsis'].splitlines()
167 181 for line in synopsislines:
168 182 # some commands (such as rebase) have a multi-line
169 183 # synopsis
170 184 ui.write(" %s\n" % line)
171 185 ui.write('\n')
172 186 # description
173 187 ui.write("%s\n\n" % d['desc'][1])
174 188 # options
175 189 opt_output = list(d['opts'])
176 190 if opt_output:
177 191 opts_len = max([len(line[0]) for line in opt_output])
178 192 ui.write(_("Options:\n\n"))
179 193 multioccur = False
180 194 for optstr, desc in opt_output:
181 195 if desc:
182 196 s = "%-*s %s" % (opts_len, optstr, desc)
183 197 else:
184 198 s = optstr
185 199 ui.write("%s\n" % s)
186 200 if optstr.endswith("[+]>"):
187 201 multioccur = True
188 202 if multioccur:
189 203 ui.write(_("\n[+] marked option can be specified"
190 204 " multiple times\n"))
191 205 ui.write("\n")
192 206 # aliases
193 207 if d['aliases']:
194 208 ui.write(_(" aliases: %s\n\n") % " ".join(d['aliases']))
195 209
196 210
197 211 def allextensionnames():
198 212 return extensions.enabled().keys() + extensions.disabled().keys()
199 213
200 214 if __name__ == "__main__":
201 215 doc = 'hg.1.gendoc'
202 216 if len(sys.argv) > 1:
203 217 doc = sys.argv[1]
204 218
205 219 ui = uimod.ui()
206 220 if doc == 'hg.1.gendoc':
207 221 showdoc(ui)
208 222 else:
209 223 showtopic(ui, sys.argv[1])
@@ -1,182 +1,181 b''
1 1 #require test-repo
2 2
3 3 $ cd "$TESTDIR"/..
4 4
5 5 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
6 doc/gendoc.py not using absolute_import
7 6 doc/hgmanpage.py not using absolute_import
8 7 hgext/color.py not using absolute_import
9 8 hgext/eol.py not using absolute_import
10 9 hgext/extdiff.py not using absolute_import
11 10 hgext/factotum.py not using absolute_import
12 11 hgext/fetch.py not using absolute_import
13 12 hgext/fsmonitor/pywatchman/__init__.py not using absolute_import
14 13 hgext/fsmonitor/pywatchman/__init__.py requires print_function
15 14 hgext/fsmonitor/pywatchman/capabilities.py not using absolute_import
16 15 hgext/fsmonitor/pywatchman/pybser.py not using absolute_import
17 16 hgext/gpg.py not using absolute_import
18 17 hgext/graphlog.py not using absolute_import
19 18 hgext/hgcia.py not using absolute_import
20 19 hgext/hgk.py not using absolute_import
21 20 hgext/highlight/__init__.py not using absolute_import
22 21 hgext/highlight/highlight.py not using absolute_import
23 22 hgext/histedit.py not using absolute_import
24 23 hgext/largefiles/__init__.py not using absolute_import
25 24 hgext/largefiles/basestore.py not using absolute_import
26 25 hgext/largefiles/lfcommands.py not using absolute_import
27 26 hgext/largefiles/lfutil.py not using absolute_import
28 27 hgext/largefiles/localstore.py not using absolute_import
29 28 hgext/largefiles/overrides.py not using absolute_import
30 29 hgext/largefiles/proto.py not using absolute_import
31 30 hgext/largefiles/remotestore.py not using absolute_import
32 31 hgext/largefiles/reposetup.py not using absolute_import
33 32 hgext/largefiles/uisetup.py not using absolute_import
34 33 hgext/largefiles/wirestore.py not using absolute_import
35 34 hgext/mq.py not using absolute_import
36 35 hgext/rebase.py not using absolute_import
37 36 hgext/share.py not using absolute_import
38 37 hgext/win32text.py not using absolute_import
39 38 i18n/check-translation.py not using absolute_import
40 39 i18n/polib.py not using absolute_import
41 40 setup.py not using absolute_import
42 41 tests/heredoctest.py requires print_function
43 42 tests/md5sum.py not using absolute_import
44 43 tests/readlink.py not using absolute_import
45 44 tests/readlink.py requires print_function
46 45 tests/run-tests.py not using absolute_import
47 46 tests/svn-safe-append.py not using absolute_import
48 47 tests/test-atomictempfile.py not using absolute_import
49 48 tests/test-demandimport.py not using absolute_import
50 49
51 50 #if py3exe
52 51 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
53 52 contrib/check-code.py: invalid syntax: (unicode error) 'unicodeescape' codec can't decode bytes in position *-*: malformed \N character escape (<unknown>, line *) (glob)
54 53 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
55 54 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
56 55 hgext/blackbox.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
57 56 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
58 57 hgext/censor.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
59 58 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
60 59 hgext/children.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
61 60 hgext/churn.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
62 61 hgext/clonebundles.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
63 62 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
64 63 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
65 64 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
66 65 hgext/convert/convcmd.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
67 66 hgext/convert/cvs.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
68 67 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
69 68 hgext/convert/darcs.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
70 69 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
71 70 hgext/convert/git.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
72 71 hgext/convert/gnuarch.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
73 72 hgext/convert/hg.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
74 73 hgext/convert/monotone.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
75 74 hgext/convert/p*.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
76 75 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
77 76 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
78 77 hgext/eol.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
79 78 hgext/extdiff.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
80 79 hgext/factotum.py: error importing: <ImportError> No module named 'httplib' (error at url.py:*) (glob)
81 80 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
82 81 hgext/fsmonitor/watchmanclient.py: error importing module: <SystemError> Parent module 'hgext.fsmonitor' not loaded, cannot perform relative import (line *) (glob)
83 82 hgext/gpg.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
84 83 hgext/graphlog.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
85 84 hgext/hgcia.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
86 85 hgext/hgk.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
87 86 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
88 87 hgext/keyword.py: error importing: <ImportError> No module named 'BaseHTTPServer' (error at common.py:*) (glob)
89 88 hgext/largefiles/basestore.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
90 89 hgext/largefiles/lfcommands.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
91 90 hgext/largefiles/lfutil.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
92 91 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
93 92 hgext/largefiles/overrides.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
94 93 hgext/largefiles/proto.py: error importing: <ImportError> No module named 'httplib' (error at httppeer.py:*) (glob)
95 94 hgext/largefiles/remotestore.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at wireproto.py:*) (glob)
96 95 hgext/largefiles/reposetup.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
97 96 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
98 97 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
99 98 hgext/mq.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
100 99 hgext/notify.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
101 100 hgext/pager.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
102 101 hgext/patchbomb.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
103 102 hgext/purge.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
104 103 hgext/rebase.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
105 104 hgext/record.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
106 105 hgext/relink.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
107 106 hgext/schemes.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
108 107 hgext/share.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
109 108 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
110 109 hgext/strip.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
111 110 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
112 111 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
113 112 mercurial/branchmap.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
114 113 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
115 114 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
116 115 mercurial/changegroup.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
117 116 mercurial/changelog.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
118 117 mercurial/cmdutil.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
119 118 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
120 119 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
121 120 mercurial/context.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
122 121 mercurial/copies.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
123 122 mercurial/crecord.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
124 123 mercurial/dirstate.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
125 124 mercurial/discovery.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
126 125 mercurial/dispatch.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
127 126 mercurial/exchange.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
128 127 mercurial/extensions.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
129 128 mercurial/filelog.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
130 129 mercurial/filemerge.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
131 130 mercurial/fileset.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
132 131 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
133 132 mercurial/graphmod.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
134 133 mercurial/help.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
135 134 mercurial/hg.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
136 135 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
137 136 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
138 137 mercurial/hgweb/hgwebdir_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
139 138 mercurial/hgweb/protocol.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
140 139 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
141 140 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
142 141 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
143 142 mercurial/hgweb/webutil.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
144 143 mercurial/hgweb/wsgicgi.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
145 144 mercurial/hook.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
146 145 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
147 146 mercurial/httpconnection.py: error importing: <ImportError> No module named 'httplib' (error at __init__.py:*) (glob)
148 147 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
149 148 mercurial/keepalive.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
150 149 mercurial/localrepo.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
151 150 mercurial/mail.py: error importing module: <AttributeError> module 'email' has no attribute 'Header' (line *) (glob)
152 151 mercurial/manifest.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
153 152 mercurial/merge.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
154 153 mercurial/namespaces.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
155 154 mercurial/patch.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
156 155 mercurial/pure/mpatch.py: error importing module: <ImportError> cannot import name 'pycompat' (line *) (glob)
157 156 mercurial/pure/parsers.py: error importing module: <ImportError> No module named 'mercurial.pure.node' (line *) (glob)
158 157 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
159 158 mercurial/revlog.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
160 159 mercurial/revset.py: error importing module: <AttributeError> 'dict' object has no attribute 'iteritems' (line *) (glob)
161 160 mercurial/scmutil.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
162 161 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
163 162 mercurial/simplemerge.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
164 163 mercurial/sshpeer.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at wireproto.py:*) (glob)
165 164 mercurial/sshserver.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
166 165 mercurial/statichttprepo.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
167 166 mercurial/store.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
168 167 mercurial/streamclone.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
169 168 mercurial/subrepo.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
170 169 mercurial/templatefilters.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
171 170 mercurial/templatekw.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
172 171 mercurial/templater.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
173 172 mercurial/ui.py: error importing: <ImportError> No module named 'cPickle' (error at formatter.py:*) (glob)
174 173 mercurial/unionrepo.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
175 174 mercurial/url.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
176 175 mercurial/verify.py: error importing: <AttributeError> 'dict' object has no attribute 'iteritems' (error at revset.py:*) (glob)
177 176 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
178 177 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
179 178 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
180 179 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
181 180
182 181 #endif
General Comments 0
You need to be logged in to leave comments. Login now