Show More
@@ -47,6 +47,19 b' def hfsignoreclean(s):' | |||||
47 | s = s.replace(c, '') |
|
47 | s = s.replace(c, '') | |
48 | return s |
|
48 | return s | |
49 |
|
49 | |||
|
50 | # encoding.environ is provided read-only, which may not be used to modify | |||
|
51 | # the process environment | |||
|
52 | _nativeenviron = (not pycompat.ispy3 or os.supports_bytes_environ) | |||
|
53 | if not pycompat.ispy3: | |||
|
54 | environ = os.environ | |||
|
55 | elif _nativeenviron: | |||
|
56 | environ = os.environb | |||
|
57 | else: | |||
|
58 | # preferred encoding isn't known yet; use utf-8 to avoid unicode error | |||
|
59 | # and recreate it once encoding is settled | |||
|
60 | environ = dict((k.encode(u'utf-8'), v.encode(u'utf-8')) | |||
|
61 | for k, v in os.environ.items()) | |||
|
62 | ||||
50 | def _getpreferredencoding(): |
|
63 | def _getpreferredencoding(): | |
51 | ''' |
|
64 | ''' | |
52 | On darwin, getpreferredencoding ignores the locale environment and |
|
65 | On darwin, getpreferredencoding ignores the locale environment and | |
@@ -78,13 +91,13 b' def _getpreferredencoding():' | |||||
78 | } |
|
91 | } | |
79 |
|
92 | |||
80 | try: |
|
93 | try: | |
81 |
encoding = |
|
94 | encoding = environ.get("HGENCODING") | |
82 | if not encoding: |
|
95 | if not encoding: | |
83 | encoding = locale.getpreferredencoding() or 'ascii' |
|
96 | encoding = locale.getpreferredencoding() or 'ascii' | |
84 | encoding = _encodingfixers.get(encoding, lambda: encoding)() |
|
97 | encoding = _encodingfixers.get(encoding, lambda: encoding)() | |
85 | except locale.Error: |
|
98 | except locale.Error: | |
86 | encoding = 'ascii' |
|
99 | encoding = 'ascii' | |
87 |
encodingmode = |
|
100 | encodingmode = environ.get("HGENCODINGMODE", "strict") | |
88 | fallbackencoding = 'ISO-8859-1' |
|
101 | fallbackencoding = 'ISO-8859-1' | |
89 |
|
102 | |||
90 | class localstr(str): |
|
103 | class localstr(str): | |
@@ -183,8 +196,14 b' def fromlocal(s):' | |||||
183 | except LookupError as k: |
|
196 | except LookupError as k: | |
184 | raise error.Abort(k, hint="please check your locale settings") |
|
197 | raise error.Abort(k, hint="please check your locale settings") | |
185 |
|
198 | |||
|
199 | if not _nativeenviron: | |||
|
200 | # now encoding and helper functions are available, recreate the environ | |||
|
201 | # dict to be exported to other modules | |||
|
202 | environ = dict((tolocal(k.encode(u'utf-8')), tolocal(v.encode(u'utf-8'))) | |||
|
203 | for k, v in os.environ.items()) | |||
|
204 | ||||
186 | # How to treat ambiguous-width characters. Set to 'wide' to treat as wide. |
|
205 | # How to treat ambiguous-width characters. Set to 'wide' to treat as wide. | |
187 |
wide = ( |
|
206 | wide = (environ.get("HGENCODINGAMBIGUOUS", "narrow") == "wide" | |
188 | and "WFA" or "WF") |
|
207 | and "WFA" or "WF") | |
189 |
|
208 | |||
190 | def colwidth(s): |
|
209 | def colwidth(s): |
@@ -17,89 +17,90 b'' | |||||
17 | > | xargs $PYTHON3 contrib/check-py3-compat.py \ |
|
17 | > | xargs $PYTHON3 contrib/check-py3-compat.py \ | |
18 | > | sed 's/[0-9][0-9]*)$/*)/' |
|
18 | > | sed 's/[0-9][0-9]*)$/*)/' | |
19 | doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) |
|
19 | doc/hgmanpage.py: invalid syntax: invalid syntax (<unknown>, line *) | |
20 |
hgext/acl.py: error importing: <TypeError> str expected, not bytes (error at |
|
20 | hgext/acl.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
21 |
hgext/automv.py: error importing: <TypeError> str expected, not bytes (error at |
|
21 | hgext/automv.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
22 |
hgext/blackbox.py: error importing: <TypeError> str expected, not bytes (error at |
|
22 | hgext/blackbox.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
23 |
hgext/bugzilla.py: error importing: <TypeError> str expected, not bytes (error at |
|
23 | hgext/bugzilla.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
24 |
hgext/censor.py: error importing: <TypeError> str expected, not bytes (error at |
|
24 | hgext/censor.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
25 |
hgext/chgserver.py: error importing: <TypeError> str expected, not bytes (error at |
|
25 | hgext/chgserver.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
26 |
hgext/children.py: error importing: <TypeError> str expected, not bytes (error at |
|
26 | hgext/children.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
27 |
hgext/churn.py: error importing: <TypeError> str expected, not bytes (error at |
|
27 | hgext/churn.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
28 |
hgext/clonebundles.py: error importing: <TypeError> str expected, not bytes (error at |
|
28 | hgext/clonebundles.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
29 |
hgext/color.py: error importing: <TypeError> str expected, not bytes (error at |
|
29 | hgext/color.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
30 |
hgext/convert/bzr.py: error importing: <TypeError> str expected, not bytes (error at |
|
30 | hgext/convert/bzr.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
31 |
hgext/convert/common.py: error importing: <TypeError> str expected, not bytes (error at |
|
31 | hgext/convert/common.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
32 |
hgext/convert/convcmd.py: error importing: <TypeError> str expected, not bytes (error at |
|
32 | hgext/convert/convcmd.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
33 |
hgext/convert/cvs.py: error importing: <TypeError> str expected, not bytes (error at |
|
33 | hgext/convert/cvs.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
34 |
hgext/convert/cvsps.py: error importing: <TypeError> str expected, not bytes (error at |
|
34 | hgext/convert/cvsps.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
35 |
hgext/convert/darcs.py: error importing: <TypeError> str expected, not bytes (error at |
|
35 | hgext/convert/darcs.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
36 |
hgext/convert/filemap.py: error importing: <TypeError> str expected, not bytes (error at |
|
36 | hgext/convert/filemap.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
37 |
hgext/convert/git.py: error importing: <TypeError> str expected, not bytes (error at |
|
37 | hgext/convert/git.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
38 |
hgext/convert/gnuarch.py: error importing: <TypeError> str expected, not bytes (error at |
|
38 | hgext/convert/gnuarch.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
39 |
hgext/convert/hg.py: error importing: <TypeError> str expected, not bytes (error at |
|
39 | hgext/convert/hg.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
40 |
hgext/convert/monotone.py: error importing: <TypeError> str expected, not bytes (error at |
|
40 | hgext/convert/monotone.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
41 |
hgext/convert/p4.py: error importing: <TypeError> str expected, not bytes (error at |
|
41 | hgext/convert/p4.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
42 |
hgext/convert/subversion.py: error importing: <TypeError> str expected, not bytes (error at |
|
42 | hgext/convert/subversion.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
43 | hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) |
|
43 | hgext/convert/transport.py: error importing module: <ImportError> No module named 'svn.client' (line *) | |
44 |
hgext/eol.py: error importing: <TypeError> str expected, not bytes (error at |
|
44 | hgext/eol.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
45 |
hgext/extdiff.py: error importing: <TypeError> str expected, not bytes (error at |
|
45 | hgext/extdiff.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
46 |
hgext/factotum.py: error importing: <TypeError> str expected, not bytes (error at |
|
46 | hgext/factotum.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
47 |
hgext/fetch.py: error importing: <TypeError> str expected, not bytes (error at |
|
47 | hgext/fetch.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
48 |
hgext/fsmonitor/state.py: error importing: <TypeError> str expected, not bytes (error at |
|
48 | hgext/fsmonitor/state.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
49 |
hgext/fsmonitor/watchmanclient.py: error importing: <TypeError> str expected, not bytes (error at |
|
49 | hgext/fsmonitor/watchmanclient.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
50 |
hgext/gpg.py: error importing: <TypeError> str expected, not bytes (error at |
|
50 | hgext/gpg.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
51 |
hgext/graphlog.py: error importing: <TypeError> str expected, not bytes (error at |
|
51 | hgext/graphlog.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
52 |
hgext/hgk.py: error importing: <TypeError> str expected, not bytes (error at |
|
52 | hgext/hgk.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
53 |
hgext/histedit.py: error importing: <TypeError> str expected, not bytes (error at |
|
53 | hgext/histedit.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
54 |
hgext/journal.py: error importing: <TypeError> str expected, not bytes (error at |
|
54 | hgext/journal.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
55 |
hgext/keyword.py: error importing: <TypeError> str expected, not bytes (error at |
|
55 | hgext/keyword.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
56 |
hgext/largefiles/basestore.py: error importing: <TypeError> str expected, not bytes (error at |
|
56 | hgext/largefiles/basestore.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
57 |
hgext/largefiles/lfcommands.py: error importing: <TypeError> str expected, not bytes (error at |
|
57 | hgext/largefiles/lfcommands.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
58 |
hgext/largefiles/lfutil.py: error importing: <TypeError> str expected, not bytes (error at |
|
58 | hgext/largefiles/lfutil.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
59 |
hgext/largefiles/localstore.py: error importing: <TypeError> str expected, not bytes (error at |
|
59 | hgext/largefiles/localstore.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
60 |
hgext/largefiles/overrides.py: error importing: <TypeError> str expected, not bytes (error at |
|
60 | hgext/largefiles/overrides.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
61 |
hgext/largefiles/proto.py: error importing: <TypeError> str expected, not bytes (error at |
|
61 | hgext/largefiles/proto.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
62 |
hgext/largefiles/remotestore.py: error importing: <TypeError> str expected, not bytes (error at |
|
62 | hgext/largefiles/remotestore.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
63 |
hgext/largefiles/reposetup.py: error importing: <TypeError> str expected, not bytes (error at |
|
63 | hgext/largefiles/reposetup.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
64 |
hgext/largefiles/storefactory.py: error importing: <TypeError> str expected, not bytes (error at |
|
64 | hgext/largefiles/storefactory.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
65 |
hgext/largefiles/uisetup.py: error importing: <TypeError> str expected, not bytes (error at |
|
65 | hgext/largefiles/uisetup.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
66 | hgext/largefiles/wirestore.py: error importing module: <SystemError> Parent module 'hgext.largefiles' not loaded, cannot perform relative import (line *) |
|
66 | hgext/largefiles/wirestore.py: error importing module: <SystemError> Parent module 'hgext.largefiles' not loaded, cannot perform relative import (line *) | |
67 |
hgext/mq.py: error importing: <TypeError> str expected, not bytes (error at |
|
67 | hgext/mq.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
68 |
hgext/notify.py: error importing: <TypeError> str expected, not bytes (error at |
|
68 | hgext/notify.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
69 |
hgext/pager.py: error importing: <TypeError> str expected, not bytes (error at |
|
69 | hgext/pager.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
70 |
hgext/patchbomb.py: error importing: <TypeError> str expected, not bytes (error at |
|
70 | hgext/patchbomb.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
71 |
hgext/purge.py: error importing: <TypeError> str expected, not bytes (error at |
|
71 | hgext/purge.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
72 |
hgext/rebase.py: error importing: <TypeError> str expected, not bytes (error at |
|
72 | hgext/rebase.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
73 |
hgext/record.py: error importing: <TypeError> str expected, not bytes (error at |
|
73 | hgext/record.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
74 |
hgext/relink.py: error importing: <TypeError> str expected, not bytes (error at |
|
74 | hgext/relink.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
75 |
hgext/schemes.py: error importing: <TypeError> str expected, not bytes (error at |
|
75 | hgext/schemes.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
76 |
hgext/share.py: error importing: <TypeError> str expected, not bytes (error at |
|
76 | hgext/share.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
77 |
hgext/shelve.py: error importing: <TypeError> str expected, not bytes (error at |
|
77 | hgext/shelve.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
78 |
hgext/strip.py: error importing: <TypeError> str expected, not bytes (error at |
|
78 | hgext/strip.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
79 |
hgext/transplant.py: error importing: <TypeError> str expected, not bytes (error at |
|
79 | hgext/transplant.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
80 |
hgext/win32mbcs.py: error importing: <TypeError> str expected, not bytes (error at |
|
80 | hgext/win32mbcs.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
81 |
hgext/win32text.py: error importing: <TypeError> str expected, not bytes (error at |
|
81 | hgext/win32text.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
82 |
mercurial/archival.py: error importing: <TypeError> str expected, not bytes (error at |
|
82 | mercurial/archival.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
83 |
mercurial/bookmarks.py: error importing: <TypeError> str expected, not bytes (error at |
|
83 | mercurial/bookmarks.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
84 |
mercurial/branchmap.py: error importing: <TypeError> str expected, not bytes (error at |
|
84 | mercurial/branchmap.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
85 |
mercurial/bundle2.py: error importing: <TypeError> str expected, not bytes (error at |
|
85 | mercurial/bundle2.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
86 |
mercurial/bundlerepo.py: error importing: <TypeError> str expected, not bytes (error at |
|
86 | mercurial/bundlerepo.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
87 |
mercurial/byterange.py: error importing: <TypeError> str expected, not bytes (error at |
|
87 | mercurial/byterange.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
88 |
mercurial/changegroup.py: error importing: <TypeError> str expected, not bytes (error at |
|
88 | mercurial/changegroup.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
89 |
mercurial/changelog.py: error importing: <TypeError> str expected, not bytes (error at |
|
89 | mercurial/changelog.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
90 |
mercurial/cmdutil.py: error importing: <TypeError> str expected, not bytes (error at |
|
90 | mercurial/cmdutil.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
91 |
mercurial/commands.py: error importing: <TypeError> str expected, not bytes (error at |
|
91 | mercurial/commands.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
92 |
mercurial/commandserver.py: error importing: <TypeError> str expected, not bytes (error at |
|
92 | mercurial/commandserver.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
93 |
mercurial/config.py: error importing: <TypeError> str expected, not bytes (error at |
|
93 | mercurial/config.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
94 |
mercurial/context.py: error importing: <TypeError> str expected, not bytes (error at |
|
94 | mercurial/context.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
95 |
mercurial/copies.py: error importing: <TypeError> str expected, not bytes (error at |
|
95 | mercurial/copies.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
96 |
mercurial/crecord.py: error importing: <TypeError> str expected, not bytes (error at |
|
96 | mercurial/crecord.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
97 |
mercurial/dagparser.py: error importing: <TypeError> str expected, not bytes (error at |
|
97 | mercurial/dagparser.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
98 |
mercurial/dagutil.py: error importing: <TypeError> str expected, not bytes (error at |
|
98 | mercurial/dagutil.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
99 |
mercurial/destutil.py: error importing: <TypeError> str expected, not bytes (error at |
|
99 | mercurial/destutil.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
100 |
mercurial/dirstate.py: error importing: <TypeError> str expected, not bytes (error at |
|
100 | mercurial/dirstate.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
101 |
mercurial/discovery.py: error importing: <TypeError> str expected, not bytes (error at |
|
101 | mercurial/discovery.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
102 |
mercurial/dispatch.py: error importing: <TypeError> str expected, not bytes (error at |
|
102 | mercurial/dispatch.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
|
103 | mercurial/encoding.py: error importing module: <TypeError> bytes expected, not str (line *) | |||
103 |
|
|
104 | mercurial/exchange.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
104 | mercurial/extensions.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) |
|
105 | mercurial/extensions.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
105 | mercurial/fancyopts.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) |
|
106 | mercurial/fancyopts.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
@@ -165,10 +166,11 b'' | |||||
165 | mercurial/ui.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) |
|
166 | mercurial/ui.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) | |
166 | mercurial/unionrepo.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) |
|
167 | mercurial/unionrepo.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) | |
167 | mercurial/url.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) |
|
168 | mercurial/url.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) | |
168 |
mercurial/ |
|
169 | mercurial/util.py: error importing module: <TypeError> encode() argument 1 must be str, not bytes (line *) | |
|
170 | mercurial/verify.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) | |||
169 | mercurial/win32.py: error importing module: <ImportError> No module named 'msvcrt' (line *) |
|
171 | mercurial/win32.py: error importing module: <ImportError> No module named 'msvcrt' (line *) | |
170 | mercurial/windows.py: error importing module: <ImportError> No module named 'msvcrt' (line *) |
|
172 | mercurial/windows.py: error importing module: <ImportError> No module named 'msvcrt' (line *) | |
171 |
mercurial/wireproto.py: error importing |
|
173 | mercurial/wireproto.py: error importing: <TypeError> __slots__ items must be strings, not 'bytes' (error at util.py:*) | |
172 |
|
174 | |||
173 | #endif |
|
175 | #endif | |
174 |
|
176 | |||
@@ -176,5 +178,5 b'' | |||||
176 | $ hg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \ |
|
178 | $ hg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \ | |
177 | > | xargs $PYTHON3 contrib/check-py3-compat.py \ |
|
179 | > | xargs $PYTHON3 contrib/check-py3-compat.py \ | |
178 | > | sed 's/[0-9][0-9]*)$/*)/' |
|
180 | > | sed 's/[0-9][0-9]*)$/*)/' | |
179 |
hgext/highlight/highlight.py: error importing: <TypeError> str expected, not bytes (error at |
|
181 | hgext/highlight/highlight.py: error importing: <TypeError> str expected, not bytes (error at i18n.py:*) | |
180 | #endif |
|
182 | #endif |
General Comments 0
You need to be logged in to leave comments.
Login now