##// END OF EJS Templates
py3: use print_function in test-ancestor.py
Robert Stanca -
r28723:18e73803 default
parent child Browse files
Show More
@@ -1,261 +1,262 b''
1 from __future__ import absolute_import
1 from __future__ import absolute_import, print_function
2
2
3 import binascii
3 import binascii
4 import getopt
4 import getopt
5 import math
5 import math
6 import os
6 import os
7 import random
7 import random
8 import sys
8 import sys
9 import time
9 import time
10
10
11 from mercurial.node import nullrev
11 from mercurial.node import nullrev
12 from mercurial import (
12 from mercurial import (
13 ancestor,
13 ancestor,
14 commands,
14 commands,
15 hg,
15 hg,
16 ui,
16 ui,
17 util,
17 util,
18 )
18 )
19
19
20 def buildgraph(rng, nodes=100, rootprob=0.05, mergeprob=0.2, prevprob=0.7):
20 def buildgraph(rng, nodes=100, rootprob=0.05, mergeprob=0.2, prevprob=0.7):
21 '''nodes: total number of nodes in the graph
21 '''nodes: total number of nodes in the graph
22 rootprob: probability that a new node (not 0) will be a root
22 rootprob: probability that a new node (not 0) will be a root
23 mergeprob: probability that, excluding a root a node will be a merge
23 mergeprob: probability that, excluding a root a node will be a merge
24 prevprob: probability that p1 will be the previous node
24 prevprob: probability that p1 will be the previous node
25
25
26 return value is a graph represented as an adjacency list.
26 return value is a graph represented as an adjacency list.
27 '''
27 '''
28 graph = [None] * nodes
28 graph = [None] * nodes
29 for i in xrange(nodes):
29 for i in xrange(nodes):
30 if i == 0 or rng.random() < rootprob:
30 if i == 0 or rng.random() < rootprob:
31 graph[i] = [nullrev]
31 graph[i] = [nullrev]
32 elif i == 1:
32 elif i == 1:
33 graph[i] = [0]
33 graph[i] = [0]
34 elif rng.random() < mergeprob:
34 elif rng.random() < mergeprob:
35 if i == 2 or rng.random() < prevprob:
35 if i == 2 or rng.random() < prevprob:
36 # p1 is prev
36 # p1 is prev
37 p1 = i - 1
37 p1 = i - 1
38 else:
38 else:
39 p1 = rng.randrange(i - 1)
39 p1 = rng.randrange(i - 1)
40 p2 = rng.choice(range(0, p1) + range(p1 + 1, i))
40 p2 = rng.choice(range(0, p1) + range(p1 + 1, i))
41 graph[i] = [p1, p2]
41 graph[i] = [p1, p2]
42 elif rng.random() < prevprob:
42 elif rng.random() < prevprob:
43 graph[i] = [i - 1]
43 graph[i] = [i - 1]
44 else:
44 else:
45 graph[i] = [rng.randrange(i - 1)]
45 graph[i] = [rng.randrange(i - 1)]
46
46
47 return graph
47 return graph
48
48
49 def buildancestorsets(graph):
49 def buildancestorsets(graph):
50 ancs = [None] * len(graph)
50 ancs = [None] * len(graph)
51 for i in xrange(len(graph)):
51 for i in xrange(len(graph)):
52 ancs[i] = set([i])
52 ancs[i] = set([i])
53 if graph[i] == [nullrev]:
53 if graph[i] == [nullrev]:
54 continue
54 continue
55 for p in graph[i]:
55 for p in graph[i]:
56 ancs[i].update(ancs[p])
56 ancs[i].update(ancs[p])
57 return ancs
57 return ancs
58
58
59 class naiveincrementalmissingancestors(object):
59 class naiveincrementalmissingancestors(object):
60 def __init__(self, ancs, bases):
60 def __init__(self, ancs, bases):
61 self.ancs = ancs
61 self.ancs = ancs
62 self.bases = set(bases)
62 self.bases = set(bases)
63 def addbases(self, newbases):
63 def addbases(self, newbases):
64 self.bases.update(newbases)
64 self.bases.update(newbases)
65 def removeancestorsfrom(self, revs):
65 def removeancestorsfrom(self, revs):
66 for base in self.bases:
66 for base in self.bases:
67 if base != nullrev:
67 if base != nullrev:
68 revs.difference_update(self.ancs[base])
68 revs.difference_update(self.ancs[base])
69 revs.discard(nullrev)
69 revs.discard(nullrev)
70 def missingancestors(self, revs):
70 def missingancestors(self, revs):
71 res = set()
71 res = set()
72 for rev in revs:
72 for rev in revs:
73 if rev != nullrev:
73 if rev != nullrev:
74 res.update(self.ancs[rev])
74 res.update(self.ancs[rev])
75 for base in self.bases:
75 for base in self.bases:
76 if base != nullrev:
76 if base != nullrev:
77 res.difference_update(self.ancs[base])
77 res.difference_update(self.ancs[base])
78 return sorted(res)
78 return sorted(res)
79
79
80 def test_missingancestors(seed, rng):
80 def test_missingancestors(seed, rng):
81 # empirically observed to take around 1 second
81 # empirically observed to take around 1 second
82 graphcount = 100
82 graphcount = 100
83 testcount = 10
83 testcount = 10
84 inccount = 10
84 inccount = 10
85 nerrs = [0]
85 nerrs = [0]
86 # the default mu and sigma give us a nice distribution of mostly
86 # the default mu and sigma give us a nice distribution of mostly
87 # single-digit counts (including 0) with some higher ones
87 # single-digit counts (including 0) with some higher ones
88 def lognormrandom(mu, sigma):
88 def lognormrandom(mu, sigma):
89 return int(math.floor(rng.lognormvariate(mu, sigma)))
89 return int(math.floor(rng.lognormvariate(mu, sigma)))
90
90
91 def samplerevs(nodes, mu=1.1, sigma=0.8):
91 def samplerevs(nodes, mu=1.1, sigma=0.8):
92 count = min(lognormrandom(mu, sigma), len(nodes))
92 count = min(lognormrandom(mu, sigma), len(nodes))
93 return rng.sample(nodes, count)
93 return rng.sample(nodes, count)
94
94
95 def err(seed, graph, bases, seq, output, expected):
95 def err(seed, graph, bases, seq, output, expected):
96 if nerrs[0] == 0:
96 if nerrs[0] == 0:
97 print >> sys.stderr, 'seed:', hex(seed)[:-1]
97 print('seed:', hex(seed)[:-1], file=sys.stderr)
98 if gerrs[0] == 0:
98 if gerrs[0] == 0:
99 print >> sys.stderr, 'graph:', graph
99 print('graph:', graph, file=sys.stderr)
100 print >> sys.stderr, '* bases:', bases
100 print('* bases:', bases, file=sys.stderr)
101 print >> sys.stderr, '* seq: ', seq
101 print('* seq: ', seq, file=sys.stderr)
102 print >> sys.stderr, '* output: ', output
102 print('* output: ', output, file=sys.stderr)
103 print >> sys.stderr, '* expected:', expected
103 print('* expected:', expected, file=sys.stderr)
104 nerrs[0] += 1
104 nerrs[0] += 1
105 gerrs[0] += 1
105 gerrs[0] += 1
106
106
107 for g in xrange(graphcount):
107 for g in xrange(graphcount):
108 graph = buildgraph(rng)
108 graph = buildgraph(rng)
109 ancs = buildancestorsets(graph)
109 ancs = buildancestorsets(graph)
110 gerrs = [0]
110 gerrs = [0]
111 for _ in xrange(testcount):
111 for _ in xrange(testcount):
112 # start from nullrev to include it as a possibility
112 # start from nullrev to include it as a possibility
113 graphnodes = range(nullrev, len(graph))
113 graphnodes = range(nullrev, len(graph))
114 bases = samplerevs(graphnodes)
114 bases = samplerevs(graphnodes)
115
115
116 # fast algorithm
116 # fast algorithm
117 inc = ancestor.incrementalmissingancestors(graph.__getitem__, bases)
117 inc = ancestor.incrementalmissingancestors(graph.__getitem__, bases)
118 # reference slow algorithm
118 # reference slow algorithm
119 naiveinc = naiveincrementalmissingancestors(ancs, bases)
119 naiveinc = naiveincrementalmissingancestors(ancs, bases)
120 seq = []
120 seq = []
121 revs = []
121 revs = []
122 for _ in xrange(inccount):
122 for _ in xrange(inccount):
123 if rng.random() < 0.2:
123 if rng.random() < 0.2:
124 newbases = samplerevs(graphnodes)
124 newbases = samplerevs(graphnodes)
125 seq.append(('addbases', newbases))
125 seq.append(('addbases', newbases))
126 inc.addbases(newbases)
126 inc.addbases(newbases)
127 naiveinc.addbases(newbases)
127 naiveinc.addbases(newbases)
128 if rng.random() < 0.4:
128 if rng.random() < 0.4:
129 # larger set so that there are more revs to remove from
129 # larger set so that there are more revs to remove from
130 revs = samplerevs(graphnodes, mu=1.5)
130 revs = samplerevs(graphnodes, mu=1.5)
131 seq.append(('removeancestorsfrom', revs))
131 seq.append(('removeancestorsfrom', revs))
132 hrevs = set(revs)
132 hrevs = set(revs)
133 rrevs = set(revs)
133 rrevs = set(revs)
134 inc.removeancestorsfrom(hrevs)
134 inc.removeancestorsfrom(hrevs)
135 naiveinc.removeancestorsfrom(rrevs)
135 naiveinc.removeancestorsfrom(rrevs)
136 if hrevs != rrevs:
136 if hrevs != rrevs:
137 err(seed, graph, bases, seq, sorted(hrevs),
137 err(seed, graph, bases, seq, sorted(hrevs),
138 sorted(rrevs))
138 sorted(rrevs))
139 else:
139 else:
140 revs = samplerevs(graphnodes)
140 revs = samplerevs(graphnodes)
141 seq.append(('missingancestors', revs))
141 seq.append(('missingancestors', revs))
142 h = inc.missingancestors(revs)
142 h = inc.missingancestors(revs)
143 r = naiveinc.missingancestors(revs)
143 r = naiveinc.missingancestors(revs)
144 if h != r:
144 if h != r:
145 err(seed, graph, bases, seq, h, r)
145 err(seed, graph, bases, seq, h, r)
146
146
147 # graph is a dict of child->parent adjacency lists for this graph:
147 # graph is a dict of child->parent adjacency lists for this graph:
148 # o 13
148 # o 13
149 # |
149 # |
150 # | o 12
150 # | o 12
151 # | |
151 # | |
152 # | | o 11
152 # | | o 11
153 # | | |\
153 # | | |\
154 # | | | | o 10
154 # | | | | o 10
155 # | | | | |
155 # | | | | |
156 # | o---+ | 9
156 # | o---+ | 9
157 # | | | | |
157 # | | | | |
158 # o | | | | 8
158 # o | | | | 8
159 # / / / /
159 # / / / /
160 # | | o | 7
160 # | | o | 7
161 # | | | |
161 # | | | |
162 # o---+ | 6
162 # o---+ | 6
163 # / / /
163 # / / /
164 # | | o 5
164 # | | o 5
165 # | |/
165 # | |/
166 # | o 4
166 # | o 4
167 # | |
167 # | |
168 # o | 3
168 # o | 3
169 # | |
169 # | |
170 # | o 2
170 # | o 2
171 # |/
171 # |/
172 # o 1
172 # o 1
173 # |
173 # |
174 # o 0
174 # o 0
175
175
176 graph = {0: [-1], 1: [0], 2: [1], 3: [1], 4: [2], 5: [4], 6: [4],
176 graph = {0: [-1], 1: [0], 2: [1], 3: [1], 4: [2], 5: [4], 6: [4],
177 7: [4], 8: [-1], 9: [6, 7], 10: [5], 11: [3, 7], 12: [9],
177 7: [4], 8: [-1], 9: [6, 7], 10: [5], 11: [3, 7], 12: [9],
178 13: [8]}
178 13: [8]}
179
179
180 def genlazyancestors(revs, stoprev=0, inclusive=False):
180 def genlazyancestors(revs, stoprev=0, inclusive=False):
181 print ("%% lazy ancestor set for %s, stoprev = %s, inclusive = %s" %
181 print(("%% lazy ancestor set for %s, stoprev = %s, inclusive = %s" %
182 (revs, stoprev, inclusive))
182 (revs, stoprev, inclusive)))
183 return ancestor.lazyancestors(graph.get, revs, stoprev=stoprev,
183 return ancestor.lazyancestors(graph.get, revs, stoprev=stoprev,
184 inclusive=inclusive)
184 inclusive=inclusive)
185
185
186 def printlazyancestors(s, l):
186 def printlazyancestors(s, l):
187 print 'membership: %r' % [n for n in l if n in s]
187 print('membership: %r' % [n for n in l if n in s])
188 print 'iteration: %r' % list(s)
188 print('iteration: %r' % list(s))
189
189
190 def test_lazyancestors():
190 def test_lazyancestors():
191 # Empty revs
191 # Empty revs
192 s = genlazyancestors([])
192 s = genlazyancestors([])
193 printlazyancestors(s, [3, 0, -1])
193 printlazyancestors(s, [3, 0, -1])
194
194
195 # Standard example
195 # Standard example
196 s = genlazyancestors([11, 13])
196 s = genlazyancestors([11, 13])
197 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
197 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
198
198
199 # Standard with ancestry in the initial set (1 is ancestor of 3)
199 # Standard with ancestry in the initial set (1 is ancestor of 3)
200 s = genlazyancestors([1, 3])
200 s = genlazyancestors([1, 3])
201 printlazyancestors(s, [1, -1, 0])
201 printlazyancestors(s, [1, -1, 0])
202
202
203 # Including revs
203 # Including revs
204 s = genlazyancestors([11, 13], inclusive=True)
204 s = genlazyancestors([11, 13], inclusive=True)
205 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
205 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
206
206
207 # Test with stoprev
207 # Test with stoprev
208 s = genlazyancestors([11, 13], stoprev=6)
208 s = genlazyancestors([11, 13], stoprev=6)
209 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
209 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
210 s = genlazyancestors([11, 13], stoprev=6, inclusive=True)
210 s = genlazyancestors([11, 13], stoprev=6, inclusive=True)
211 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
211 printlazyancestors(s, [11, 13, 7, 9, 8, 3, 6, 4, 1, -1, 0])
212
212
213
213
214 # The C gca algorithm requires a real repo. These are textual descriptions of
214 # The C gca algorithm requires a real repo. These are textual descriptions of
215 # DAGs that have been known to be problematic.
215 # DAGs that have been known to be problematic.
216 dagtests = [
216 dagtests = [
217 '+2*2*2/*3/2',
217 '+2*2*2/*3/2',
218 '+3*3/*2*2/*4*4/*4/2*4/2*2',
218 '+3*3/*2*2/*4*4/*4/2*4/2*2',
219 ]
219 ]
220 def test_gca():
220 def test_gca():
221 u = ui.ui()
221 u = ui.ui()
222 for i, dag in enumerate(dagtests):
222 for i, dag in enumerate(dagtests):
223 repo = hg.repository(u, 'gca%d' % i, create=1)
223 repo = hg.repository(u, 'gca%d' % i, create=1)
224 cl = repo.changelog
224 cl = repo.changelog
225 if not util.safehasattr(cl.index, 'ancestors'):
225 if not util.safehasattr(cl.index, 'ancestors'):
226 # C version not available
226 # C version not available
227 return
227 return
228
228
229 commands.debugbuilddag(u, repo, dag)
229 commands.debugbuilddag(u, repo, dag)
230 # Compare the results of the Python and C versions. This does not
230 # Compare the results of the Python and C versions. This does not
231 # include choosing a winner when more than one gca exists -- we make
231 # include choosing a winner when more than one gca exists -- we make
232 # sure both return exactly the same set of gcas.
232 # sure both return exactly the same set of gcas.
233 for a in cl:
233 for a in cl:
234 for b in cl:
234 for b in cl:
235 cgcas = sorted(cl.index.ancestors(a, b))
235 cgcas = sorted(cl.index.ancestors(a, b))
236 pygcas = sorted(ancestor.ancestors(cl.parentrevs, a, b))
236 pygcas = sorted(ancestor.ancestors(cl.parentrevs, a, b))
237 if cgcas != pygcas:
237 if cgcas != pygcas:
238 print "test_gca: for dag %s, gcas for %d, %d:" % (dag, a, b)
238 print("test_gca: for dag %s, gcas for %d, %d:"
239 print " C returned: %s" % cgcas
239 % (dag, a, b))
240 print " Python returned: %s" % pygcas
240 print(" C returned: %s" % cgcas)
241 print(" Python returned: %s" % pygcas)
241
242
242 def main():
243 def main():
243 seed = None
244 seed = None
244 opts, args = getopt.getopt(sys.argv[1:], 's:', ['seed='])
245 opts, args = getopt.getopt(sys.argv[1:], 's:', ['seed='])
245 for o, a in opts:
246 for o, a in opts:
246 if o in ('-s', '--seed'):
247 if o in ('-s', '--seed'):
247 seed = long(a, base=0) # accepts base 10 or 16 strings
248 seed = long(a, base=0) # accepts base 10 or 16 strings
248
249
249 if seed is None:
250 if seed is None:
250 try:
251 try:
251 seed = long(binascii.hexlify(os.urandom(16)), 16)
252 seed = long(binascii.hexlify(os.urandom(16)), 16)
252 except AttributeError:
253 except AttributeError:
253 seed = long(time.time() * 1000)
254 seed = long(time.time() * 1000)
254
255
255 rng = random.Random(seed)
256 rng = random.Random(seed)
256 test_missingancestors(seed, rng)
257 test_missingancestors(seed, rng)
257 test_lazyancestors()
258 test_lazyancestors()
258 test_gca()
259 test_gca()
259
260
260 if __name__ == '__main__':
261 if __name__ == '__main__':
261 main()
262 main()
@@ -1,287 +1,285 b''
1 #require test-repo
1 #require test-repo
2
2
3 $ cd "$TESTDIR"/..
3 $ cd "$TESTDIR"/..
4
4
5 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
5 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
6 doc/check-seclevel.py not using absolute_import
6 doc/check-seclevel.py not using absolute_import
7 doc/gendoc.py not using absolute_import
7 doc/gendoc.py not using absolute_import
8 doc/hgmanpage.py not using absolute_import
8 doc/hgmanpage.py not using absolute_import
9 hgext/color.py not using absolute_import
9 hgext/color.py not using absolute_import
10 hgext/eol.py not using absolute_import
10 hgext/eol.py not using absolute_import
11 hgext/extdiff.py not using absolute_import
11 hgext/extdiff.py not using absolute_import
12 hgext/factotum.py not using absolute_import
12 hgext/factotum.py not using absolute_import
13 hgext/fetch.py not using absolute_import
13 hgext/fetch.py not using absolute_import
14 hgext/fsmonitor/pywatchman/__init__.py not using absolute_import
14 hgext/fsmonitor/pywatchman/__init__.py not using absolute_import
15 hgext/fsmonitor/pywatchman/__init__.py requires print_function
15 hgext/fsmonitor/pywatchman/__init__.py requires print_function
16 hgext/fsmonitor/pywatchman/capabilities.py not using absolute_import
16 hgext/fsmonitor/pywatchman/capabilities.py not using absolute_import
17 hgext/fsmonitor/pywatchman/pybser.py not using absolute_import
17 hgext/fsmonitor/pywatchman/pybser.py not using absolute_import
18 hgext/gpg.py not using absolute_import
18 hgext/gpg.py not using absolute_import
19 hgext/graphlog.py not using absolute_import
19 hgext/graphlog.py not using absolute_import
20 hgext/hgcia.py not using absolute_import
20 hgext/hgcia.py not using absolute_import
21 hgext/hgk.py not using absolute_import
21 hgext/hgk.py not using absolute_import
22 hgext/highlight/__init__.py not using absolute_import
22 hgext/highlight/__init__.py not using absolute_import
23 hgext/highlight/highlight.py not using absolute_import
23 hgext/highlight/highlight.py not using absolute_import
24 hgext/histedit.py not using absolute_import
24 hgext/histedit.py not using absolute_import
25 hgext/largefiles/__init__.py not using absolute_import
25 hgext/largefiles/__init__.py not using absolute_import
26 hgext/largefiles/basestore.py not using absolute_import
26 hgext/largefiles/basestore.py not using absolute_import
27 hgext/largefiles/lfcommands.py not using absolute_import
27 hgext/largefiles/lfcommands.py not using absolute_import
28 hgext/largefiles/lfutil.py not using absolute_import
28 hgext/largefiles/lfutil.py not using absolute_import
29 hgext/largefiles/localstore.py not using absolute_import
29 hgext/largefiles/localstore.py not using absolute_import
30 hgext/largefiles/overrides.py not using absolute_import
30 hgext/largefiles/overrides.py not using absolute_import
31 hgext/largefiles/proto.py not using absolute_import
31 hgext/largefiles/proto.py not using absolute_import
32 hgext/largefiles/remotestore.py not using absolute_import
32 hgext/largefiles/remotestore.py not using absolute_import
33 hgext/largefiles/reposetup.py not using absolute_import
33 hgext/largefiles/reposetup.py not using absolute_import
34 hgext/largefiles/uisetup.py not using absolute_import
34 hgext/largefiles/uisetup.py not using absolute_import
35 hgext/largefiles/wirestore.py not using absolute_import
35 hgext/largefiles/wirestore.py not using absolute_import
36 hgext/mq.py not using absolute_import
36 hgext/mq.py not using absolute_import
37 hgext/rebase.py not using absolute_import
37 hgext/rebase.py not using absolute_import
38 hgext/share.py not using absolute_import
38 hgext/share.py not using absolute_import
39 hgext/win32text.py not using absolute_import
39 hgext/win32text.py not using absolute_import
40 i18n/check-translation.py not using absolute_import
40 i18n/check-translation.py not using absolute_import
41 i18n/polib.py not using absolute_import
41 i18n/polib.py not using absolute_import
42 setup.py not using absolute_import
42 setup.py not using absolute_import
43 tests/filterpyflakes.py requires print_function
43 tests/filterpyflakes.py requires print_function
44 tests/generate-working-copy-states.py requires print_function
44 tests/generate-working-copy-states.py requires print_function
45 tests/get-with-headers.py requires print_function
45 tests/get-with-headers.py requires print_function
46 tests/heredoctest.py requires print_function
46 tests/heredoctest.py requires print_function
47 tests/hypothesishelpers.py not using absolute_import
47 tests/hypothesishelpers.py not using absolute_import
48 tests/hypothesishelpers.py requires print_function
48 tests/hypothesishelpers.py requires print_function
49 tests/killdaemons.py not using absolute_import
49 tests/killdaemons.py not using absolute_import
50 tests/md5sum.py not using absolute_import
50 tests/md5sum.py not using absolute_import
51 tests/mockblackbox.py not using absolute_import
51 tests/mockblackbox.py not using absolute_import
52 tests/printenv.py not using absolute_import
52 tests/printenv.py not using absolute_import
53 tests/readlink.py not using absolute_import
53 tests/readlink.py not using absolute_import
54 tests/readlink.py requires print_function
54 tests/readlink.py requires print_function
55 tests/revlog-formatv0.py not using absolute_import
55 tests/revlog-formatv0.py not using absolute_import
56 tests/run-tests.py not using absolute_import
56 tests/run-tests.py not using absolute_import
57 tests/silenttestrunner.py not using absolute_import
57 tests/silenttestrunner.py not using absolute_import
58 tests/silenttestrunner.py requires print_function
58 tests/silenttestrunner.py requires print_function
59 tests/sitecustomize.py not using absolute_import
59 tests/sitecustomize.py not using absolute_import
60 tests/svn-safe-append.py not using absolute_import
60 tests/svn-safe-append.py not using absolute_import
61 tests/svnxml.py not using absolute_import
61 tests/svnxml.py not using absolute_import
62 tests/test-ancestor.py requires print_function
63 tests/test-atomictempfile.py not using absolute_import
62 tests/test-atomictempfile.py not using absolute_import
64 tests/test-batching.py not using absolute_import
63 tests/test-batching.py not using absolute_import
65 tests/test-batching.py requires print_function
64 tests/test-batching.py requires print_function
66 tests/test-bdiff.py not using absolute_import
65 tests/test-bdiff.py not using absolute_import
67 tests/test-bdiff.py requires print_function
66 tests/test-bdiff.py requires print_function
68 tests/test-context.py not using absolute_import
67 tests/test-context.py not using absolute_import
69 tests/test-context.py requires print_function
68 tests/test-context.py requires print_function
70 tests/test-demandimport.py not using absolute_import
69 tests/test-demandimport.py not using absolute_import
71 tests/test-demandimport.py requires print_function
70 tests/test-demandimport.py requires print_function
72 tests/test-doctest.py not using absolute_import
71 tests/test-doctest.py not using absolute_import
73 tests/test-duplicateoptions.py not using absolute_import
72 tests/test-duplicateoptions.py not using absolute_import
74 tests/test-duplicateoptions.py requires print_function
73 tests/test-duplicateoptions.py requires print_function
75 tests/test-filecache.py not using absolute_import
74 tests/test-filecache.py not using absolute_import
76 tests/test-filecache.py requires print_function
75 tests/test-filecache.py requires print_function
77 tests/test-filelog.py not using absolute_import
76 tests/test-filelog.py not using absolute_import
78 tests/test-filelog.py requires print_function
77 tests/test-filelog.py requires print_function
79 tests/test-hg-parseurl.py not using absolute_import
78 tests/test-hg-parseurl.py not using absolute_import
80 tests/test-hg-parseurl.py requires print_function
79 tests/test-hg-parseurl.py requires print_function
81 tests/test-hgweb-auth.py not using absolute_import
80 tests/test-hgweb-auth.py not using absolute_import
82 tests/test-hgweb-auth.py requires print_function
81 tests/test-hgweb-auth.py requires print_function
83 tests/test-hgwebdir-paths.py not using absolute_import
82 tests/test-hgwebdir-paths.py not using absolute_import
84 tests/test-hybridencode.py not using absolute_import
83 tests/test-hybridencode.py not using absolute_import
85 tests/test-hybridencode.py requires print_function
84 tests/test-hybridencode.py requires print_function
86 tests/test-lrucachedict.py not using absolute_import
85 tests/test-lrucachedict.py not using absolute_import
87 tests/test-lrucachedict.py requires print_function
86 tests/test-lrucachedict.py requires print_function
88 tests/test-manifest.py not using absolute_import
87 tests/test-manifest.py not using absolute_import
89 tests/test-minirst.py not using absolute_import
88 tests/test-minirst.py not using absolute_import
90 tests/test-minirst.py requires print_function
89 tests/test-minirst.py requires print_function
91 tests/test-parseindex2.py not using absolute_import
90 tests/test-parseindex2.py not using absolute_import
92 tests/test-parseindex2.py requires print_function
91 tests/test-parseindex2.py requires print_function
93 tests/test-pathencode.py not using absolute_import
92 tests/test-pathencode.py not using absolute_import
94 tests/test-pathencode.py requires print_function
93 tests/test-pathencode.py requires print_function
95 tests/test-propertycache.py not using absolute_import
94 tests/test-propertycache.py not using absolute_import
96 tests/test-propertycache.py requires print_function
95 tests/test-propertycache.py requires print_function
97 tests/test-revlog-ancestry.py not using absolute_import
96 tests/test-revlog-ancestry.py not using absolute_import
98 tests/test-revlog-ancestry.py requires print_function
97 tests/test-revlog-ancestry.py requires print_function
99 tests/test-run-tests.py not using absolute_import
98 tests/test-run-tests.py not using absolute_import
100 tests/test-simplemerge.py not using absolute_import
99 tests/test-simplemerge.py not using absolute_import
101 tests/test-status-inprocess.py not using absolute_import
100 tests/test-status-inprocess.py not using absolute_import
102 tests/test-status-inprocess.py requires print_function
101 tests/test-status-inprocess.py requires print_function
103 tests/test-symlink-os-yes-fs-no.py not using absolute_import
102 tests/test-symlink-os-yes-fs-no.py not using absolute_import
104 tests/test-trusted.py not using absolute_import
103 tests/test-trusted.py not using absolute_import
105 tests/test-trusted.py requires print_function
104 tests/test-trusted.py requires print_function
106 tests/test-ui-color.py not using absolute_import
105 tests/test-ui-color.py not using absolute_import
107 tests/test-url.py not using absolute_import
106 tests/test-url.py not using absolute_import
108
107
109 #if py3exe
108 #if py3exe
110 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
109 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py
111 contrib/check-code.py: invalid syntax: (unicode error) 'unicodeescape' codec can't decode bytes in position *-*: malformed \N character escape (<unknown>, line *) (glob)
110 contrib/check-code.py: invalid syntax: (unicode error) 'unicodeescape' codec can't decode bytes in position *-*: malformed \N character escape (<unknown>, line *) (glob)
112 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
111 doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
113 hgext/acl.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
112 hgext/acl.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
114 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
113 hgext/automv.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
115 hgext/blackbox.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
114 hgext/blackbox.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
116 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
115 hgext/bugzilla.py: error importing module: <ImportError> No module named 'urlparse' (line *) (glob)
117 hgext/censor.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
116 hgext/censor.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
118 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
117 hgext/chgserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
119 hgext/children.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
118 hgext/children.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
120 hgext/churn.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
119 hgext/churn.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
121 hgext/clonebundles.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
120 hgext/clonebundles.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
122 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
121 hgext/color.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
123 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
122 hgext/convert/bzr.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
124 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
123 hgext/convert/common.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
125 hgext/convert/convcmd.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
124 hgext/convert/convcmd.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
126 hgext/convert/cvs.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
125 hgext/convert/cvs.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
127 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
126 hgext/convert/cvsps.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
128 hgext/convert/darcs.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
127 hgext/convert/darcs.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
129 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
128 hgext/convert/filemap.py: error importing module: <SystemError> Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob)
130 hgext/convert/git.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
129 hgext/convert/git.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
131 hgext/convert/gnuarch.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
130 hgext/convert/gnuarch.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
132 hgext/convert/hg.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
131 hgext/convert/hg.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
133 hgext/convert/monotone.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
132 hgext/convert/monotone.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
134 hgext/convert/p*.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
133 hgext/convert/p*.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
135 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
134 hgext/convert/subversion.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
136 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
135 hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) (glob)
137 hgext/eol.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
136 hgext/eol.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
138 hgext/extdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
137 hgext/extdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
139 hgext/factotum.py: error importing: <ImportError> No module named 'cStringIO' (error at url.py:*) (glob)
138 hgext/factotum.py: error importing: <ImportError> No module named 'cStringIO' (error at url.py:*) (glob)
140 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
139 hgext/fetch.py: error importing module: <SyntaxError> invalid syntax (commands.py, line *) (line *) (glob)
141 hgext/fsmonitor/state.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
140 hgext/fsmonitor/state.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
142 hgext/fsmonitor/watchmanclient.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
141 hgext/fsmonitor/watchmanclient.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
143 hgext/gpg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
142 hgext/gpg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
144 hgext/graphlog.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
143 hgext/graphlog.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
145 hgext/hgcia.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
144 hgext/hgcia.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
146 hgext/hgk.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
145 hgext/hgk.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
147 hgext/highlight/highlight.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
146 hgext/highlight/highlight.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
148 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
147 hgext/histedit.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
149 hgext/keyword.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
148 hgext/keyword.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
150 hgext/largefiles/basestore.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
149 hgext/largefiles/basestore.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
151 hgext/largefiles/lfcommands.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
150 hgext/largefiles/lfcommands.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
152 hgext/largefiles/lfutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
151 hgext/largefiles/lfutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
153 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
152 hgext/largefiles/localstore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
154 hgext/largefiles/overrides.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
153 hgext/largefiles/overrides.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
155 hgext/largefiles/proto.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
154 hgext/largefiles/proto.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
156 hgext/largefiles/remotestore.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
155 hgext/largefiles/remotestore.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
157 hgext/largefiles/reposetup.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
156 hgext/largefiles/reposetup.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
158 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
157 hgext/largefiles/uisetup.py: error importing module: <SyntaxError> invalid syntax (archival.py, line *) (line *) (glob)
159 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
158 hgext/largefiles/wirestore.py: error importing module: <ImportError> No module named 'lfutil' (line *) (glob)
160 hgext/mq.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
159 hgext/mq.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
161 hgext/notify.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
160 hgext/notify.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
162 hgext/pager.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
161 hgext/pager.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
163 hgext/patchbomb.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
162 hgext/patchbomb.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
164 hgext/purge.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
163 hgext/purge.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
165 hgext/rebase.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
164 hgext/rebase.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
166 hgext/record.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
165 hgext/record.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
167 hgext/relink.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
166 hgext/relink.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
168 hgext/schemes.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
167 hgext/schemes.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
169 hgext/share.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
168 hgext/share.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
170 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
169 hgext/shelve.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
171 hgext/strip.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
170 hgext/strip.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
172 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
171 hgext/transplant.py: error importing: <SyntaxError> invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob)
173 hgext/win*text.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
172 hgext/win*text.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
174 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
173 mercurial/archival.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
175 mercurial/bookmarks.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
174 mercurial/bookmarks.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
176 mercurial/branchmap.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
175 mercurial/branchmap.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
177 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
176 mercurial/bundle*.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
178 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
177 mercurial/bundlerepo.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
179 mercurial/byterange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
178 mercurial/byterange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
180 mercurial/changegroup.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
179 mercurial/changegroup.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
181 mercurial/changelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
180 mercurial/changelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
182 mercurial/cmdutil.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
181 mercurial/cmdutil.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
183 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
182 mercurial/commands.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
184 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
183 mercurial/commandserver.py: error importing module: <ImportError> No module named 'SocketServer' (line *) (glob)
185 mercurial/config.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
184 mercurial/config.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
186 mercurial/context.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
185 mercurial/context.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
187 mercurial/copies.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
186 mercurial/copies.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
188 mercurial/crecord.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
187 mercurial/crecord.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
189 mercurial/destutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
188 mercurial/destutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
190 mercurial/dirstate.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
189 mercurial/dirstate.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
191 mercurial/discovery.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
190 mercurial/discovery.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
192 mercurial/dispatch.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
191 mercurial/dispatch.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
193 mercurial/exchange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
192 mercurial/exchange.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
194 mercurial/extensions.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
193 mercurial/extensions.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
195 mercurial/filelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
194 mercurial/filelog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
196 mercurial/filemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
195 mercurial/filemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
197 mercurial/fileset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
196 mercurial/fileset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
198 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
197 mercurial/formatter.py: error importing module: <ImportError> No module named 'cPickle' (line *) (glob)
199 mercurial/graphmod.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
198 mercurial/graphmod.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
200 mercurial/help.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
199 mercurial/help.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
201 mercurial/hg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
200 mercurial/hg.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
202 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
201 mercurial/hgweb/common.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
203 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
202 mercurial/hgweb/hgweb_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
204 mercurial/hgweb/hgwebdir_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
203 mercurial/hgweb/hgwebdir_mod.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
205 mercurial/hgweb/protocol.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
204 mercurial/hgweb/protocol.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
206 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
205 mercurial/hgweb/request.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
207 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
206 mercurial/hgweb/server.py: error importing module: <ImportError> No module named 'BaseHTTPServer' (line *) (glob)
208 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
207 mercurial/hgweb/webcommands.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
209 mercurial/hgweb/webutil.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
208 mercurial/hgweb/webutil.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
210 mercurial/hgweb/wsgicgi.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
209 mercurial/hgweb/wsgicgi.py: error importing module: <SystemError> Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob)
211 mercurial/hook.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
210 mercurial/hook.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
212 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
211 mercurial/httpclient/_readers.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
213 mercurial/httpconnection.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
212 mercurial/httpconnection.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
214 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
213 mercurial/httppeer.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
215 mercurial/keepalive.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
214 mercurial/keepalive.py: error importing module: <ImportError> No module named 'httplib' (line *) (glob)
216 mercurial/localrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
215 mercurial/localrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
217 mercurial/lock.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
216 mercurial/lock.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
218 mercurial/mail.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
217 mercurial/mail.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
219 mercurial/manifest.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
218 mercurial/manifest.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
220 mercurial/match.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
219 mercurial/match.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
221 mercurial/mdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
220 mercurial/mdiff.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
222 mercurial/merge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
221 mercurial/merge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
223 mercurial/minirst.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
222 mercurial/minirst.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
224 mercurial/namespaces.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
223 mercurial/namespaces.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
225 mercurial/obsolete.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
224 mercurial/obsolete.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
226 mercurial/patch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
225 mercurial/patch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
227 mercurial/pathutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
226 mercurial/pathutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
228 mercurial/peer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
227 mercurial/peer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
229 mercurial/pure/mpatch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
228 mercurial/pure/mpatch.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
230 mercurial/pure/parsers.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
229 mercurial/pure/parsers.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
231 mercurial/pushkey.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
230 mercurial/pushkey.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
232 mercurial/pvec.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
231 mercurial/pvec.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
233 mercurial/registrar.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
232 mercurial/registrar.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
234 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
233 mercurial/repair.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
235 mercurial/repoview.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
234 mercurial/repoview.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
236 mercurial/revlog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
235 mercurial/revlog.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
237 mercurial/revset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
236 mercurial/revset.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
238 mercurial/scmutil.py: error importing module: <ImportError> No module named 'Queue' (line *) (glob)
237 mercurial/scmutil.py: error importing module: <ImportError> No module named 'Queue' (line *) (glob)
239 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
238 mercurial/scmwindows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
240 mercurial/similar.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
239 mercurial/similar.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
241 mercurial/simplemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
240 mercurial/simplemerge.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
242 mercurial/sshpeer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
241 mercurial/sshpeer.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
243 mercurial/sshserver.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
242 mercurial/sshserver.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
244 mercurial/sslutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
243 mercurial/sslutil.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
245 mercurial/statichttprepo.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
244 mercurial/statichttprepo.py: error importing module: <ImportError> No module named 'urllib2' (line *) (glob)
246 mercurial/store.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
245 mercurial/store.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
247 mercurial/streamclone.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
246 mercurial/streamclone.py: error importing: <ImportError> No module named 'Queue' (error at scmutil.py:*) (glob)
248 mercurial/subrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
247 mercurial/subrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at cmdutil.py:*) (glob)
249 mercurial/tagmerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
248 mercurial/tagmerge.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
250 mercurial/tags.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
249 mercurial/tags.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
251 mercurial/templatefilters.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
250 mercurial/templatefilters.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
252 mercurial/templatekw.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
251 mercurial/templatekw.py: error importing: <ImportError> No module named 'cStringIO' (error at patch.py:*) (glob)
253 mercurial/templater.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
252 mercurial/templater.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
254 mercurial/transaction.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
253 mercurial/transaction.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
255 mercurial/ui.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
254 mercurial/ui.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
256 mercurial/unionrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
255 mercurial/unionrepo.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
257 mercurial/url.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
256 mercurial/url.py: error importing module: <ImportError> No module named 'cStringIO' (line *) (glob)
258 mercurial/util.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
257 mercurial/util.py: error importing: <ImportError> No module named 'cStringIO' (error at parsers.py:*) (glob)
259 mercurial/verify.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
258 mercurial/verify.py: error importing: <ImportError> No module named 'cStringIO' (error at mpatch.py:*) (glob)
260 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
259 mercurial/win*.py: error importing module: <ImportError> No module named 'msvcrt' (line *) (glob)
261 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
260 mercurial/windows.py: error importing module: <ImportError> No module named '_winreg' (line *) (glob)
262 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
261 mercurial/wireproto.py: error importing module: <SyntaxError> invalid syntax (bundle*.py, line *) (line *) (glob)
263 tests/filterpyflakes.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
262 tests/filterpyflakes.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
264 tests/generate-working-copy-states.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
263 tests/generate-working-copy-states.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
265 tests/get-with-headers.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
264 tests/get-with-headers.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
266 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
265 tests/readlink.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
267 tests/silenttestrunner.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
266 tests/silenttestrunner.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
268 tests/test-ancestor.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
269 tests/test-batching.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
267 tests/test-batching.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
270 tests/test-bdiff.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
268 tests/test-bdiff.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
271 tests/test-context.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
269 tests/test-context.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
272 tests/test-demandimport.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
270 tests/test-demandimport.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
273 tests/test-duplicateoptions.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
271 tests/test-duplicateoptions.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
274 tests/test-filecache.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
272 tests/test-filecache.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
275 tests/test-filelog.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
273 tests/test-filelog.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
276 tests/test-hg-parseurl.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
274 tests/test-hg-parseurl.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
277 tests/test-hgweb-auth.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
275 tests/test-hgweb-auth.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
278 tests/test-hybridencode.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
276 tests/test-hybridencode.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
279 tests/test-lrucachedict.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
277 tests/test-lrucachedict.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
280 tests/test-minirst.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
278 tests/test-minirst.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
281 tests/test-parseindex*.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
279 tests/test-parseindex*.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
282 tests/test-propertycache.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
280 tests/test-propertycache.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
283 tests/test-revlog-ancestry.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
281 tests/test-revlog-ancestry.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
284 tests/test-status-inprocess.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
282 tests/test-status-inprocess.py: invalid syntax: Missing parentheses in call to 'print' (<unknown>, line *) (glob)
285 tests/test-trusted.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
283 tests/test-trusted.py: invalid syntax: invalid syntax (<unknown>, line *) (glob)
286
284
287 #endif
285 #endif
General Comments 0
You need to be logged in to leave comments. Login now