##// END OF EJS Templates
parsers: use absolute_import
Gregory Szorc -
r27339:6ab8c651 default
parent child Browse files
Show More
@@ -1,110 +1,115
1 # parsers.py - Python implementation of parsers.c
1 # parsers.py - Python implementation of parsers.c
2 #
2 #
3 # Copyright 2009 Matt Mackall <mpm@selenic.com> and others
3 # Copyright 2009 Matt Mackall <mpm@selenic.com> and others
4 #
4 #
5 # This software may be used and distributed according to the terms of the
5 # This software may be used and distributed according to the terms of the
6 # GNU General Public License version 2 or any later version.
6 # GNU General Public License version 2 or any later version.
7
7
8 from mercurial.node import nullid
8 from __future__ import absolute_import
9 import struct, zlib, cStringIO
9
10 import cStringIO
11 import struct
12 import zlib
13
14 from .node import nullid
10
15
11 _pack = struct.pack
16 _pack = struct.pack
12 _unpack = struct.unpack
17 _unpack = struct.unpack
13 _compress = zlib.compress
18 _compress = zlib.compress
14 _decompress = zlib.decompress
19 _decompress = zlib.decompress
15
20
16 # Some code below makes tuples directly because it's more convenient. However,
21 # Some code below makes tuples directly because it's more convenient. However,
17 # code outside this module should always use dirstatetuple.
22 # code outside this module should always use dirstatetuple.
18 def dirstatetuple(*x):
23 def dirstatetuple(*x):
19 # x is a tuple
24 # x is a tuple
20 return x
25 return x
21
26
22 def parse_index2(data, inline):
27 def parse_index2(data, inline):
23 def gettype(q):
28 def gettype(q):
24 return int(q & 0xFFFF)
29 return int(q & 0xFFFF)
25
30
26 def offset_type(offset, type):
31 def offset_type(offset, type):
27 return long(long(offset) << 16 | type)
32 return long(long(offset) << 16 | type)
28
33
29 indexformatng = ">Qiiiiii20s12x"
34 indexformatng = ">Qiiiiii20s12x"
30
35
31 s = struct.calcsize(indexformatng)
36 s = struct.calcsize(indexformatng)
32 index = []
37 index = []
33 cache = None
38 cache = None
34 off = 0
39 off = 0
35
40
36 l = len(data) - s
41 l = len(data) - s
37 append = index.append
42 append = index.append
38 if inline:
43 if inline:
39 cache = (0, data)
44 cache = (0, data)
40 while off <= l:
45 while off <= l:
41 e = _unpack(indexformatng, data[off:off + s])
46 e = _unpack(indexformatng, data[off:off + s])
42 append(e)
47 append(e)
43 if e[1] < 0:
48 if e[1] < 0:
44 break
49 break
45 off += e[1] + s
50 off += e[1] + s
46 else:
51 else:
47 while off <= l:
52 while off <= l:
48 e = _unpack(indexformatng, data[off:off + s])
53 e = _unpack(indexformatng, data[off:off + s])
49 append(e)
54 append(e)
50 off += s
55 off += s
51
56
52 if off != len(data):
57 if off != len(data):
53 raise ValueError('corrupt index file')
58 raise ValueError('corrupt index file')
54
59
55 if index:
60 if index:
56 e = list(index[0])
61 e = list(index[0])
57 type = gettype(e[0])
62 type = gettype(e[0])
58 e[0] = offset_type(0, type)
63 e[0] = offset_type(0, type)
59 index[0] = tuple(e)
64 index[0] = tuple(e)
60
65
61 # add the magic null revision at -1
66 # add the magic null revision at -1
62 index.append((0, 0, 0, -1, -1, -1, -1, nullid))
67 index.append((0, 0, 0, -1, -1, -1, -1, nullid))
63
68
64 return index, cache
69 return index, cache
65
70
66 def parse_dirstate(dmap, copymap, st):
71 def parse_dirstate(dmap, copymap, st):
67 parents = [st[:20], st[20: 40]]
72 parents = [st[:20], st[20: 40]]
68 # dereference fields so they will be local in loop
73 # dereference fields so they will be local in loop
69 format = ">cllll"
74 format = ">cllll"
70 e_size = struct.calcsize(format)
75 e_size = struct.calcsize(format)
71 pos1 = 40
76 pos1 = 40
72 l = len(st)
77 l = len(st)
73
78
74 # the inner loop
79 # the inner loop
75 while pos1 < l:
80 while pos1 < l:
76 pos2 = pos1 + e_size
81 pos2 = pos1 + e_size
77 e = _unpack(">cllll", st[pos1:pos2]) # a literal here is faster
82 e = _unpack(">cllll", st[pos1:pos2]) # a literal here is faster
78 pos1 = pos2 + e[4]
83 pos1 = pos2 + e[4]
79 f = st[pos2:pos1]
84 f = st[pos2:pos1]
80 if '\0' in f:
85 if '\0' in f:
81 f, c = f.split('\0')
86 f, c = f.split('\0')
82 copymap[f] = c
87 copymap[f] = c
83 dmap[f] = e[:4]
88 dmap[f] = e[:4]
84 return parents
89 return parents
85
90
86 def pack_dirstate(dmap, copymap, pl, now):
91 def pack_dirstate(dmap, copymap, pl, now):
87 now = int(now)
92 now = int(now)
88 cs = cStringIO.StringIO()
93 cs = cStringIO.StringIO()
89 write = cs.write
94 write = cs.write
90 write("".join(pl))
95 write("".join(pl))
91 for f, e in dmap.iteritems():
96 for f, e in dmap.iteritems():
92 if e[0] == 'n' and e[3] == now:
97 if e[0] == 'n' and e[3] == now:
93 # The file was last modified "simultaneously" with the current
98 # The file was last modified "simultaneously" with the current
94 # write to dirstate (i.e. within the same second for file-
99 # write to dirstate (i.e. within the same second for file-
95 # systems with a granularity of 1 sec). This commonly happens
100 # systems with a granularity of 1 sec). This commonly happens
96 # for at least a couple of files on 'update'.
101 # for at least a couple of files on 'update'.
97 # The user could change the file without changing its size
102 # The user could change the file without changing its size
98 # within the same second. Invalidate the file's mtime in
103 # within the same second. Invalidate the file's mtime in
99 # dirstate, forcing future 'status' calls to compare the
104 # dirstate, forcing future 'status' calls to compare the
100 # contents of the file if the size is the same. This prevents
105 # contents of the file if the size is the same. This prevents
101 # mistakenly treating such files as clean.
106 # mistakenly treating such files as clean.
102 e = dirstatetuple(e[0], e[1], e[2], -1)
107 e = dirstatetuple(e[0], e[1], e[2], -1)
103 dmap[f] = e
108 dmap[f] = e
104
109
105 if f in copymap:
110 if f in copymap:
106 f = "%s\0%s" % (f, copymap[f])
111 f = "%s\0%s" % (f, copymap[f])
107 e = _pack(">cllll", e[0], e[1], e[2], e[3], len(f))
112 e = _pack(">cllll", e[0], e[1], e[2], e[3], len(f))
108 write(e)
113 write(e)
109 write(f)
114 write(f)
110 return cs.getvalue()
115 return cs.getvalue()
@@ -1,214 +1,213
1 #require test-repo
1 #require test-repo
2
2
3 $ cd "$TESTDIR"/..
3 $ cd "$TESTDIR"/..
4
4
5 $ hg files 'set:(**.py)' | xargs python contrib/check-py3-compat.py
5 $ hg files 'set:(**.py)' | xargs python contrib/check-py3-compat.py
6 contrib/casesmash.py not using absolute_import
6 contrib/casesmash.py not using absolute_import
7 contrib/check-code.py not using absolute_import
7 contrib/check-code.py not using absolute_import
8 contrib/check-code.py requires print_function
8 contrib/check-code.py requires print_function
9 contrib/check-config.py not using absolute_import
9 contrib/check-config.py not using absolute_import
10 contrib/check-config.py requires print_function
10 contrib/check-config.py requires print_function
11 contrib/debugcmdserver.py not using absolute_import
11 contrib/debugcmdserver.py not using absolute_import
12 contrib/debugcmdserver.py requires print_function
12 contrib/debugcmdserver.py requires print_function
13 contrib/debugshell.py not using absolute_import
13 contrib/debugshell.py not using absolute_import
14 contrib/fixpax.py not using absolute_import
14 contrib/fixpax.py not using absolute_import
15 contrib/fixpax.py requires print_function
15 contrib/fixpax.py requires print_function
16 contrib/hgclient.py not using absolute_import
16 contrib/hgclient.py not using absolute_import
17 contrib/hgclient.py requires print_function
17 contrib/hgclient.py requires print_function
18 contrib/hgfixes/fix_bytes.py not using absolute_import
18 contrib/hgfixes/fix_bytes.py not using absolute_import
19 contrib/hgfixes/fix_bytesmod.py not using absolute_import
19 contrib/hgfixes/fix_bytesmod.py not using absolute_import
20 contrib/hgfixes/fix_leftover_imports.py not using absolute_import
20 contrib/hgfixes/fix_leftover_imports.py not using absolute_import
21 contrib/import-checker.py not using absolute_import
21 contrib/import-checker.py not using absolute_import
22 contrib/import-checker.py requires print_function
22 contrib/import-checker.py requires print_function
23 contrib/memory.py not using absolute_import
23 contrib/memory.py not using absolute_import
24 contrib/perf.py not using absolute_import
24 contrib/perf.py not using absolute_import
25 contrib/python-hook-examples.py not using absolute_import
25 contrib/python-hook-examples.py not using absolute_import
26 contrib/revsetbenchmarks.py not using absolute_import
26 contrib/revsetbenchmarks.py not using absolute_import
27 contrib/revsetbenchmarks.py requires print_function
27 contrib/revsetbenchmarks.py requires print_function
28 contrib/showstack.py not using absolute_import
28 contrib/showstack.py not using absolute_import
29 contrib/synthrepo.py not using absolute_import
29 contrib/synthrepo.py not using absolute_import
30 contrib/win32/hgwebdir_wsgi.py not using absolute_import
30 contrib/win32/hgwebdir_wsgi.py not using absolute_import
31 doc/check-seclevel.py not using absolute_import
31 doc/check-seclevel.py not using absolute_import
32 doc/gendoc.py not using absolute_import
32 doc/gendoc.py not using absolute_import
33 doc/hgmanpage.py not using absolute_import
33 doc/hgmanpage.py not using absolute_import
34 hgext/__init__.py not using absolute_import
34 hgext/__init__.py not using absolute_import
35 hgext/acl.py not using absolute_import
35 hgext/acl.py not using absolute_import
36 hgext/blackbox.py not using absolute_import
36 hgext/blackbox.py not using absolute_import
37 hgext/bugzilla.py not using absolute_import
37 hgext/bugzilla.py not using absolute_import
38 hgext/censor.py not using absolute_import
38 hgext/censor.py not using absolute_import
39 hgext/children.py not using absolute_import
39 hgext/children.py not using absolute_import
40 hgext/churn.py not using absolute_import
40 hgext/churn.py not using absolute_import
41 hgext/clonebundles.py not using absolute_import
41 hgext/clonebundles.py not using absolute_import
42 hgext/color.py not using absolute_import
42 hgext/color.py not using absolute_import
43 hgext/convert/__init__.py not using absolute_import
43 hgext/convert/__init__.py not using absolute_import
44 hgext/convert/bzr.py not using absolute_import
44 hgext/convert/bzr.py not using absolute_import
45 hgext/convert/common.py not using absolute_import
45 hgext/convert/common.py not using absolute_import
46 hgext/convert/convcmd.py not using absolute_import
46 hgext/convert/convcmd.py not using absolute_import
47 hgext/convert/cvs.py not using absolute_import
47 hgext/convert/cvs.py not using absolute_import
48 hgext/convert/cvsps.py not using absolute_import
48 hgext/convert/cvsps.py not using absolute_import
49 hgext/convert/darcs.py not using absolute_import
49 hgext/convert/darcs.py not using absolute_import
50 hgext/convert/filemap.py not using absolute_import
50 hgext/convert/filemap.py not using absolute_import
51 hgext/convert/git.py not using absolute_import
51 hgext/convert/git.py not using absolute_import
52 hgext/convert/gnuarch.py not using absolute_import
52 hgext/convert/gnuarch.py not using absolute_import
53 hgext/convert/hg.py not using absolute_import
53 hgext/convert/hg.py not using absolute_import
54 hgext/convert/monotone.py not using absolute_import
54 hgext/convert/monotone.py not using absolute_import
55 hgext/convert/p4.py not using absolute_import
55 hgext/convert/p4.py not using absolute_import
56 hgext/convert/subversion.py not using absolute_import
56 hgext/convert/subversion.py not using absolute_import
57 hgext/convert/transport.py not using absolute_import
57 hgext/convert/transport.py not using absolute_import
58 hgext/eol.py not using absolute_import
58 hgext/eol.py not using absolute_import
59 hgext/extdiff.py not using absolute_import
59 hgext/extdiff.py not using absolute_import
60 hgext/factotum.py not using absolute_import
60 hgext/factotum.py not using absolute_import
61 hgext/fetch.py not using absolute_import
61 hgext/fetch.py not using absolute_import
62 hgext/gpg.py not using absolute_import
62 hgext/gpg.py not using absolute_import
63 hgext/graphlog.py not using absolute_import
63 hgext/graphlog.py not using absolute_import
64 hgext/hgcia.py not using absolute_import
64 hgext/hgcia.py not using absolute_import
65 hgext/hgk.py not using absolute_import
65 hgext/hgk.py not using absolute_import
66 hgext/highlight/__init__.py not using absolute_import
66 hgext/highlight/__init__.py not using absolute_import
67 hgext/highlight/highlight.py not using absolute_import
67 hgext/highlight/highlight.py not using absolute_import
68 hgext/histedit.py not using absolute_import
68 hgext/histedit.py not using absolute_import
69 hgext/keyword.py not using absolute_import
69 hgext/keyword.py not using absolute_import
70 hgext/largefiles/__init__.py not using absolute_import
70 hgext/largefiles/__init__.py not using absolute_import
71 hgext/largefiles/basestore.py not using absolute_import
71 hgext/largefiles/basestore.py not using absolute_import
72 hgext/largefiles/lfcommands.py not using absolute_import
72 hgext/largefiles/lfcommands.py not using absolute_import
73 hgext/largefiles/lfutil.py not using absolute_import
73 hgext/largefiles/lfutil.py not using absolute_import
74 hgext/largefiles/localstore.py not using absolute_import
74 hgext/largefiles/localstore.py not using absolute_import
75 hgext/largefiles/overrides.py not using absolute_import
75 hgext/largefiles/overrides.py not using absolute_import
76 hgext/largefiles/proto.py not using absolute_import
76 hgext/largefiles/proto.py not using absolute_import
77 hgext/largefiles/remotestore.py not using absolute_import
77 hgext/largefiles/remotestore.py not using absolute_import
78 hgext/largefiles/reposetup.py not using absolute_import
78 hgext/largefiles/reposetup.py not using absolute_import
79 hgext/largefiles/uisetup.py not using absolute_import
79 hgext/largefiles/uisetup.py not using absolute_import
80 hgext/largefiles/wirestore.py not using absolute_import
80 hgext/largefiles/wirestore.py not using absolute_import
81 hgext/mq.py not using absolute_import
81 hgext/mq.py not using absolute_import
82 hgext/notify.py not using absolute_import
82 hgext/notify.py not using absolute_import
83 hgext/pager.py not using absolute_import
83 hgext/pager.py not using absolute_import
84 hgext/patchbomb.py not using absolute_import
84 hgext/patchbomb.py not using absolute_import
85 hgext/purge.py not using absolute_import
85 hgext/purge.py not using absolute_import
86 hgext/rebase.py not using absolute_import
86 hgext/rebase.py not using absolute_import
87 hgext/record.py not using absolute_import
87 hgext/record.py not using absolute_import
88 hgext/relink.py not using absolute_import
88 hgext/relink.py not using absolute_import
89 hgext/schemes.py not using absolute_import
89 hgext/schemes.py not using absolute_import
90 hgext/share.py not using absolute_import
90 hgext/share.py not using absolute_import
91 hgext/shelve.py not using absolute_import
91 hgext/shelve.py not using absolute_import
92 hgext/strip.py not using absolute_import
92 hgext/strip.py not using absolute_import
93 hgext/transplant.py not using absolute_import
93 hgext/transplant.py not using absolute_import
94 hgext/win32mbcs.py not using absolute_import
94 hgext/win32mbcs.py not using absolute_import
95 hgext/win32text.py not using absolute_import
95 hgext/win32text.py not using absolute_import
96 hgext/zeroconf/Zeroconf.py not using absolute_import
96 hgext/zeroconf/Zeroconf.py not using absolute_import
97 hgext/zeroconf/Zeroconf.py requires print_function
97 hgext/zeroconf/Zeroconf.py requires print_function
98 hgext/zeroconf/__init__.py not using absolute_import
98 hgext/zeroconf/__init__.py not using absolute_import
99 i18n/check-translation.py not using absolute_import
99 i18n/check-translation.py not using absolute_import
100 i18n/polib.py not using absolute_import
100 i18n/polib.py not using absolute_import
101 mercurial/byterange.py not using absolute_import
101 mercurial/byterange.py not using absolute_import
102 mercurial/cmdutil.py not using absolute_import
102 mercurial/cmdutil.py not using absolute_import
103 mercurial/commands.py not using absolute_import
103 mercurial/commands.py not using absolute_import
104 mercurial/commandserver.py not using absolute_import
104 mercurial/commandserver.py not using absolute_import
105 mercurial/context.py not using absolute_import
105 mercurial/context.py not using absolute_import
106 mercurial/dirstate.py not using absolute_import
106 mercurial/dirstate.py not using absolute_import
107 mercurial/dispatch.py requires print_function
107 mercurial/dispatch.py requires print_function
108 mercurial/encoding.py not using absolute_import
108 mercurial/encoding.py not using absolute_import
109 mercurial/exchange.py not using absolute_import
109 mercurial/exchange.py not using absolute_import
110 mercurial/help.py not using absolute_import
110 mercurial/help.py not using absolute_import
111 mercurial/httpclient/__init__.py not using absolute_import
111 mercurial/httpclient/__init__.py not using absolute_import
112 mercurial/httpclient/_readers.py not using absolute_import
112 mercurial/httpclient/_readers.py not using absolute_import
113 mercurial/httpclient/socketutil.py not using absolute_import
113 mercurial/httpclient/socketutil.py not using absolute_import
114 mercurial/httpconnection.py not using absolute_import
114 mercurial/httpconnection.py not using absolute_import
115 mercurial/keepalive.py not using absolute_import
115 mercurial/keepalive.py not using absolute_import
116 mercurial/keepalive.py requires print_function
116 mercurial/keepalive.py requires print_function
117 mercurial/localrepo.py not using absolute_import
117 mercurial/localrepo.py not using absolute_import
118 mercurial/lsprof.py requires print_function
118 mercurial/lsprof.py requires print_function
119 mercurial/lsprofcalltree.py not using absolute_import
119 mercurial/lsprofcalltree.py not using absolute_import
120 mercurial/lsprofcalltree.py requires print_function
120 mercurial/lsprofcalltree.py requires print_function
121 mercurial/mail.py requires print_function
121 mercurial/mail.py requires print_function
122 mercurial/manifest.py not using absolute_import
122 mercurial/manifest.py not using absolute_import
123 mercurial/mdiff.py not using absolute_import
123 mercurial/mdiff.py not using absolute_import
124 mercurial/patch.py not using absolute_import
124 mercurial/patch.py not using absolute_import
125 mercurial/pure/parsers.py not using absolute_import
126 mercurial/pvec.py not using absolute_import
125 mercurial/pvec.py not using absolute_import
127 mercurial/py3kcompat.py not using absolute_import
126 mercurial/py3kcompat.py not using absolute_import
128 mercurial/revlog.py not using absolute_import
127 mercurial/revlog.py not using absolute_import
129 mercurial/scmposix.py not using absolute_import
128 mercurial/scmposix.py not using absolute_import
130 mercurial/scmutil.py not using absolute_import
129 mercurial/scmutil.py not using absolute_import
131 mercurial/scmwindows.py not using absolute_import
130 mercurial/scmwindows.py not using absolute_import
132 mercurial/similar.py not using absolute_import
131 mercurial/similar.py not using absolute_import
133 mercurial/store.py not using absolute_import
132 mercurial/store.py not using absolute_import
134 mercurial/util.py not using absolute_import
133 mercurial/util.py not using absolute_import
135 mercurial/windows.py not using absolute_import
134 mercurial/windows.py not using absolute_import
136 setup.py not using absolute_import
135 setup.py not using absolute_import
137 tests/filterpyflakes.py requires print_function
136 tests/filterpyflakes.py requires print_function
138 tests/generate-working-copy-states.py requires print_function
137 tests/generate-working-copy-states.py requires print_function
139 tests/get-with-headers.py requires print_function
138 tests/get-with-headers.py requires print_function
140 tests/heredoctest.py requires print_function
139 tests/heredoctest.py requires print_function
141 tests/hypothesishelpers.py not using absolute_import
140 tests/hypothesishelpers.py not using absolute_import
142 tests/hypothesishelpers.py requires print_function
141 tests/hypothesishelpers.py requires print_function
143 tests/killdaemons.py not using absolute_import
142 tests/killdaemons.py not using absolute_import
144 tests/md5sum.py not using absolute_import
143 tests/md5sum.py not using absolute_import
145 tests/mockblackbox.py not using absolute_import
144 tests/mockblackbox.py not using absolute_import
146 tests/printenv.py not using absolute_import
145 tests/printenv.py not using absolute_import
147 tests/readlink.py not using absolute_import
146 tests/readlink.py not using absolute_import
148 tests/readlink.py requires print_function
147 tests/readlink.py requires print_function
149 tests/revlog-formatv0.py not using absolute_import
148 tests/revlog-formatv0.py not using absolute_import
150 tests/run-tests.py not using absolute_import
149 tests/run-tests.py not using absolute_import
151 tests/seq.py not using absolute_import
150 tests/seq.py not using absolute_import
152 tests/seq.py requires print_function
151 tests/seq.py requires print_function
153 tests/silenttestrunner.py not using absolute_import
152 tests/silenttestrunner.py not using absolute_import
154 tests/silenttestrunner.py requires print_function
153 tests/silenttestrunner.py requires print_function
155 tests/sitecustomize.py not using absolute_import
154 tests/sitecustomize.py not using absolute_import
156 tests/svn-safe-append.py not using absolute_import
155 tests/svn-safe-append.py not using absolute_import
157 tests/svnxml.py not using absolute_import
156 tests/svnxml.py not using absolute_import
158 tests/test-ancestor.py requires print_function
157 tests/test-ancestor.py requires print_function
159 tests/test-atomictempfile.py not using absolute_import
158 tests/test-atomictempfile.py not using absolute_import
160 tests/test-batching.py not using absolute_import
159 tests/test-batching.py not using absolute_import
161 tests/test-batching.py requires print_function
160 tests/test-batching.py requires print_function
162 tests/test-bdiff.py not using absolute_import
161 tests/test-bdiff.py not using absolute_import
163 tests/test-bdiff.py requires print_function
162 tests/test-bdiff.py requires print_function
164 tests/test-context.py not using absolute_import
163 tests/test-context.py not using absolute_import
165 tests/test-context.py requires print_function
164 tests/test-context.py requires print_function
166 tests/test-demandimport.py not using absolute_import
165 tests/test-demandimport.py not using absolute_import
167 tests/test-demandimport.py requires print_function
166 tests/test-demandimport.py requires print_function
168 tests/test-dispatch.py not using absolute_import
167 tests/test-dispatch.py not using absolute_import
169 tests/test-dispatch.py requires print_function
168 tests/test-dispatch.py requires print_function
170 tests/test-doctest.py not using absolute_import
169 tests/test-doctest.py not using absolute_import
171 tests/test-duplicateoptions.py not using absolute_import
170 tests/test-duplicateoptions.py not using absolute_import
172 tests/test-duplicateoptions.py requires print_function
171 tests/test-duplicateoptions.py requires print_function
173 tests/test-filecache.py not using absolute_import
172 tests/test-filecache.py not using absolute_import
174 tests/test-filecache.py requires print_function
173 tests/test-filecache.py requires print_function
175 tests/test-filelog.py not using absolute_import
174 tests/test-filelog.py not using absolute_import
176 tests/test-filelog.py requires print_function
175 tests/test-filelog.py requires print_function
177 tests/test-hg-parseurl.py not using absolute_import
176 tests/test-hg-parseurl.py not using absolute_import
178 tests/test-hg-parseurl.py requires print_function
177 tests/test-hg-parseurl.py requires print_function
179 tests/test-hgweb-auth.py not using absolute_import
178 tests/test-hgweb-auth.py not using absolute_import
180 tests/test-hgweb-auth.py requires print_function
179 tests/test-hgweb-auth.py requires print_function
181 tests/test-hgwebdir-paths.py not using absolute_import
180 tests/test-hgwebdir-paths.py not using absolute_import
182 tests/test-hybridencode.py not using absolute_import
181 tests/test-hybridencode.py not using absolute_import
183 tests/test-hybridencode.py requires print_function
182 tests/test-hybridencode.py requires print_function
184 tests/test-lrucachedict.py not using absolute_import
183 tests/test-lrucachedict.py not using absolute_import
185 tests/test-lrucachedict.py requires print_function
184 tests/test-lrucachedict.py requires print_function
186 tests/test-manifest.py not using absolute_import
185 tests/test-manifest.py not using absolute_import
187 tests/test-minirst.py not using absolute_import
186 tests/test-minirst.py not using absolute_import
188 tests/test-minirst.py requires print_function
187 tests/test-minirst.py requires print_function
189 tests/test-parseindex2.py not using absolute_import
188 tests/test-parseindex2.py not using absolute_import
190 tests/test-parseindex2.py requires print_function
189 tests/test-parseindex2.py requires print_function
191 tests/test-pathencode.py not using absolute_import
190 tests/test-pathencode.py not using absolute_import
192 tests/test-pathencode.py requires print_function
191 tests/test-pathencode.py requires print_function
193 tests/test-propertycache.py not using absolute_import
192 tests/test-propertycache.py not using absolute_import
194 tests/test-propertycache.py requires print_function
193 tests/test-propertycache.py requires print_function
195 tests/test-revlog-ancestry.py not using absolute_import
194 tests/test-revlog-ancestry.py not using absolute_import
196 tests/test-revlog-ancestry.py requires print_function
195 tests/test-revlog-ancestry.py requires print_function
197 tests/test-run-tests.py not using absolute_import
196 tests/test-run-tests.py not using absolute_import
198 tests/test-simplemerge.py not using absolute_import
197 tests/test-simplemerge.py not using absolute_import
199 tests/test-status-inprocess.py not using absolute_import
198 tests/test-status-inprocess.py not using absolute_import
200 tests/test-status-inprocess.py requires print_function
199 tests/test-status-inprocess.py requires print_function
201 tests/test-symlink-os-yes-fs-no.py not using absolute_import
200 tests/test-symlink-os-yes-fs-no.py not using absolute_import
202 tests/test-trusted.py not using absolute_import
201 tests/test-trusted.py not using absolute_import
203 tests/test-trusted.py requires print_function
202 tests/test-trusted.py requires print_function
204 tests/test-ui-color.py not using absolute_import
203 tests/test-ui-color.py not using absolute_import
205 tests/test-ui-color.py requires print_function
204 tests/test-ui-color.py requires print_function
206 tests/test-ui-config.py not using absolute_import
205 tests/test-ui-config.py not using absolute_import
207 tests/test-ui-config.py requires print_function
206 tests/test-ui-config.py requires print_function
208 tests/test-ui-verbosity.py not using absolute_import
207 tests/test-ui-verbosity.py not using absolute_import
209 tests/test-ui-verbosity.py requires print_function
208 tests/test-ui-verbosity.py requires print_function
210 tests/test-url.py not using absolute_import
209 tests/test-url.py not using absolute_import
211 tests/test-url.py requires print_function
210 tests/test-url.py requires print_function
212 tests/test-walkrepo.py requires print_function
211 tests/test-walkrepo.py requires print_function
213 tests/test-wireproto.py requires print_function
212 tests/test-wireproto.py requires print_function
214 tests/tinyproxy.py requires print_function
213 tests/tinyproxy.py requires print_function
General Comments 0
You need to be logged in to leave comments. Login now