From patchwork Wed Mar 30 04:33:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [7,of,8,v2] python3: handle range/xrange divergence From: timeless@mozdev.org X-Patchwork-Id: 14168 Message-Id: <7049e93dc5766ba35e91.1459312402@waste.org> To: mercurial-devel@mercurial-scm.org Date: Tue, 29 Mar 2016 23:33:22 -0500 # HG changeset patch # User timeless # Date 1459272984 0 # Tue Mar 29 17:36:24 2016 +0000 # Node ID 7049e93dc5766ba35e91fd15755f4c5a899bfcc0 # Parent d90f8d4c6cbaa4046a2b3a242010defefd24dc25 python3: handle range/xrange divergence diff --git a/contrib/check-code.py b/contrib/check-code.py --- a/contrib/check-code.py +++ b/contrib/check-code.py @@ -31,6 +31,11 @@ except ImportError: re2 = None +try: + xrange +except NameError: + xrange = range + def compilere(pat, multiline=False): if multiline: pat = '(?m)' + pat diff --git a/contrib/perf.py b/contrib/perf.py --- a/contrib/perf.py +++ b/contrib/perf.py @@ -28,6 +28,11 @@ cmdtable = {} command = cmdutil.command(cmdtable) +try: + xrange +except NameError: + xrange = range + def getlen(ui): if ui.configbool("perf", "stub"): return lambda x: 1 diff --git a/contrib/synthrepo.py b/contrib/synthrepo.py --- a/contrib/synthrepo.py +++ b/contrib/synthrepo.py @@ -72,6 +72,11 @@ newfile = set(('new fi', 'rename', 'copy f', 'copy t')) +try: + xrange +except NameError: + xrange = range + def zerodict(): return collections.defaultdict(lambda: 0) diff --git a/doc/check-seclevel.py b/doc/check-seclevel.py --- a/doc/check-seclevel.py +++ b/doc/check-seclevel.py @@ -15,6 +15,11 @@ from mercurial import minirst from mercurial import ui as uimod +try: + xrange +except NameError: + xrange = range + level2mark = ['"', '=', '-', '.', '#'] reservedmarks = ['"'] diff --git a/doc/hgmanpage.py b/doc/hgmanpage.py --- a/doc/hgmanpage.py +++ b/doc/hgmanpage.py @@ -53,6 +53,11 @@ from docutils.utils import roman import inspect +try: + xrange +except NameError: + xrange = range + FIELD_LIST_INDENT = 7 DEFINITION_LIST_INDENT = 7 OPTION_LIST_INDENT = 7 diff --git a/hgext/acl.py b/hgext/acl.py --- a/hgext/acl.py +++ b/hgext/acl.py @@ -215,6 +215,11 @@ # leave the attribute unspecified. testedwith = 'internal' +try: + xrange +except NameError: + xrange = range + def _getusers(ui, group): # First, try to use group definition from section [acl.groups] diff --git a/hgext/blackbox.py b/hgext/blackbox.py --- a/hgext/blackbox.py +++ b/hgext/blackbox.py @@ -60,6 +60,11 @@ filehandles = {} +try: + xrange +except NameError: + xrange = range + def _openlog(vfs): path = vfs.join('blackbox.log') if path in filehandles: diff --git a/hgext/censor.py b/hgext/censor.py --- a/hgext/censor.py +++ b/hgext/censor.py @@ -48,6 +48,11 @@ # leave the attribute unspecified. testedwith = 'internal' +try: + xrange +except NameError: + xrange = range + @command('censor', [('r', 'rev', '', _('censor file from specified revision'), _('REV')), ('t', 'tombstone', '', _('replacement tombstone data'), _('TEXT'))], diff --git a/hgext/convert/cvsps.py b/hgext/convert/cvsps.py --- a/hgext/convert/cvsps.py +++ b/hgext/convert/cvsps.py @@ -16,6 +16,11 @@ ) from mercurial.i18n import _ +try: + xrange +except NameError: + xrange = range + class logentry(object): '''Class logentry has the following attributes: .author - author name as CVS knows it diff --git a/hgext/eol.py b/hgext/eol.py --- a/hgext/eol.py +++ b/hgext/eol.py @@ -108,6 +108,10 @@ # stray CR is an error. eolre = re.compile('\r*\n') +try: + xrange +except NameError: + xrange = range def inconsistenteol(data): return '\r\n' in data and singlelf.search(data) diff --git a/hgext/hgcia.py b/hgext/hgcia.py --- a/hgext/hgcia.py +++ b/hgext/hgcia.py @@ -63,6 +63,10 @@ HGCIA_VERSION = '0.1' HGCIA_URL = 'http://hg.kublai.com/mercurial/hgcia' +try: + xrange +except NameError: + xrange = range class ciamsg(object): """ A CIA message """ diff --git a/hgext/hgk.py b/hgext/hgk.py --- a/hgext/hgk.py +++ b/hgext/hgk.py @@ -47,6 +47,11 @@ # leave the attribute unspecified. testedwith = 'internal' +try: + xrange +except NameError: + xrange = range + @command('debug-diff-tree', [('p', 'patch', None, _('generate patch')), ('r', 'recursive', None, _('recursive')), diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -196,6 +196,11 @@ cmdtable = {} command = cmdutil.command(cmdtable) +try: + xrange +except NameError: + xrange = range + class _constraints(object): # aborts if there are multiple rules for one node noduplicates = 'noduplicates' diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -85,6 +85,11 @@ # leave the attribute unspecified. testedwith = 'internal' +try: + xrange +except NameError: + xrange = range + # force load strip extension formerly included in mq and import some utility try: stripext = extensions.find('strip') diff --git a/hgext/notify.py b/hgext/notify.py --- a/hgext/notify.py +++ b/hgext/notify.py @@ -178,6 +178,11 @@ 'changegroup': multiple_template, } +try: + xrange +except NameError: + xrange = range + class notifier(object): '''email notification class.''' diff --git a/hgext/shelve.py b/hgext/shelve.py --- a/hgext/shelve.py +++ b/hgext/shelve.py @@ -61,6 +61,11 @@ backupdir = 'shelve-backup' +try: + xrange +except NameError: + xrange = range + class shelvedfile(object): """Helper for the file storing a single shelve diff --git a/hgext/win32text.py b/hgext/win32text.py --- a/hgext/win32text.py +++ b/hgext/win32text.py @@ -58,6 +58,11 @@ newlinestr = {'\r\n': 'CRLF', '\r': 'CR'} filterstr = {'\r\n': 'clever', '\r': 'mac'} +try: + xrange +except NameError: + xrange = range + def checknewline(s, newline, ui=None, repo=None, filename=None): # warn if already has 'newline' in repository. # it might cause unexpected eol conversion. diff --git a/mercurial/ancestor.py b/mercurial/ancestor.py --- a/mercurial/ancestor.py +++ b/mercurial/ancestor.py @@ -12,6 +12,11 @@ from .node import nullrev +try: + xrange +except NameError: + xrange = range + def commonancestorsheads(pfunc, *nodes): """Returns a set with the heads of all common ancestors of all nodes, heads(::nodes[0] and ::nodes[1] and ...) . diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -34,6 +34,11 @@ _CHANGEGROUPV2_DELTA_HEADER = "20s20s20s20s20s" _CHANGEGROUPV3_DELTA_HEADER = ">20s20s20s20s20sH" +try: + xrange +except NameError: + xrange = range + def readexactly(stream, n): '''read n bytes from stream.read and abort if less was available''' s = stream.read(n) diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -25,6 +25,11 @@ _defaultextra = {'branch': 'default'} +try: + xrange +except NameError: + xrange = range + def _string_escape(text): """ >>> d = {'nl': chr(10), 'bs': chr(92), 'cr': chr(13), 'nul': chr(0)} diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -51,6 +51,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def ishunk(x): hunkclasses = (crecordmod.uihunk, patch.recordhunk) return isinstance(x, hunkclasses) diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -217,6 +217,11 @@ ('', 'dir', False, _('open directory manifest')), ] +try: + xrange +except NameError: + xrange = range + # Commands start here, listed alphabetically @command('^add', diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -46,6 +46,11 @@ nonascii = re.compile(r'[^\x21-\x7f]').search +try: + xrange +except NameError: + xrange = range + class basectx(object): """A basectx object represents the common logic for its children: changectx: read-only context that is already present in the repo, diff --git a/mercurial/dagparser.py b/mercurial/dagparser.py --- a/mercurial/dagparser.py +++ b/mercurial/dagparser.py @@ -13,6 +13,11 @@ from .i18n import _ from . import error +try: + xrange +except NameError: + xrange = range + def parsedag(desc): '''parses a DAG from a concise textual description; generates events diff --git a/mercurial/encoding.py b/mercurial/encoding.py --- a/mercurial/encoding.py +++ b/mercurial/encoding.py @@ -19,6 +19,7 @@ if sys.version_info[0] >= 3: unichr = chr + xrange = range # These unicode characters are ignored by HFS+ (Apple Technote 1150, # "Unicode Subtleties"), so we need to ignore them in some places for diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py +++ b/mercurial/hgweb/webcommands.py @@ -46,6 +46,11 @@ __all__ = [] commands = {} +try: + xrange +except NameError: + xrange = range + class webcommand(object): """Decorator used to register a web command handler. diff --git a/mercurial/hgweb/webutil.py b/mercurial/hgweb/webutil.py --- a/mercurial/hgweb/webutil.py +++ b/mercurial/hgweb/webutil.py @@ -33,6 +33,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def up(p): if p[0] != "/": p = "/" + p diff --git a/mercurial/httppeer.py b/mercurial/httppeer.py --- a/mercurial/httppeer.py +++ b/mercurial/httppeer.py @@ -41,6 +41,11 @@ wireproto, ) +try: + xrange +except NameError: + xrange = range + def zgenerator(f): zd = zlib.decompressobj() try: diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -67,6 +67,11 @@ propertycache = util.propertycache filecache = scmutil.filecache +try: + xrange +except NameError: + xrange = range + class repofilecache(filecache): """All filecache usage on repo are done for logic that should be unfiltered """ diff --git a/mercurial/mdiff.py b/mercurial/mdiff.py --- a/mercurial/mdiff.py +++ b/mercurial/mdiff.py @@ -20,6 +20,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def splitnewlines(text): '''like str.splitlines, but only split on newlines.''' lines = [l + '\n' for l in text.split('\n')] diff --git a/mercurial/minirst.py b/mercurial/minirst.py --- a/mercurial/minirst.py +++ b/mercurial/minirst.py @@ -29,6 +29,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def section(s): return "%s\n%s\n\n" % (s, "\"" * encoding.colwidth(s)) diff --git a/mercurial/obsolete.py b/mercurial/obsolete.py --- a/mercurial/obsolete.py +++ b/mercurial/obsolete.py @@ -155,6 +155,11 @@ _fm0fsize = _calcsize(_fm0fixed) _fm0fnodesize = _calcsize(_fm0node) +try: + xrange +except NameError: + xrange = range + def _fm0readmarkers(data, off): # Loop on markers l = len(data) diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -45,6 +45,11 @@ gitre = re.compile('diff --git a/(.*) b/(.*)') tabsplitter = re.compile(r'(\t+|[^\t]+)') +try: + xrange +except NameError: + xrange = range + class PatchError(Exception): pass diff --git a/mercurial/phases.py b/mercurial/phases.py --- a/mercurial/phases.py +++ b/mercurial/phases.py @@ -121,6 +121,11 @@ trackedphases = allphases[1:] phasenames = ['public', 'draft', 'secret'] +try: + xrange +except NameError: + xrange = range + def _readroots(repo, phasedefaults=None): """Read phase roots from disk diff --git a/mercurial/pure/diffhelpers.py b/mercurial/pure/diffhelpers.py --- a/mercurial/pure/diffhelpers.py +++ b/mercurial/pure/diffhelpers.py @@ -7,6 +7,11 @@ from __future__ import absolute_import +try: + xrange +except NameError: + xrange = range + def addlines(fp, hunk, lena, lenb, a, b): while True: todoa = lena - len(a) diff --git a/mercurial/pure/osutil.py b/mercurial/pure/osutil.py --- a/mercurial/pure/osutil.py +++ b/mercurial/pure/osutil.py @@ -14,6 +14,11 @@ import stat as statmod import sys +try: + xrange +except NameError: + xrange = range + def _mode_to_kind(mode): if statmod.S_ISREG(mode): return statmod.S_IFREG diff --git a/mercurial/pvec.py b/mercurial/pvec.py --- a/mercurial/pvec.py +++ b/mercurial/pvec.py @@ -64,6 +64,11 @@ _vecbits = _vecbytes * 8 _radius = (_vecbits - 30) / 2 # high probability vectors are related +try: + xrange +except NameError: + xrange = range + def _bin(bs): '''convert a bytestring to a long''' v = 0 diff --git a/mercurial/repair.py b/mercurial/repair.py --- a/mercurial/repair.py +++ b/mercurial/repair.py @@ -20,6 +20,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def _bundle(repo, bases, heads, node, suffix, compress=True): """create a bundle with the specified revisions as a backup""" cgversion = changegroup.safeversion(repo) diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -21,6 +21,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def hideablerevs(repo): """Revisions candidates to be hidden diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -65,6 +65,11 @@ LookupError = error.LookupError CensoredNodeError = error.CensoredNodeError +try: + xrange +except NameError: + xrange = range + def getoffset(q): return int(q >> 16) diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -27,6 +27,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def _revancestors(repo, revs, followfirst): """Like revlog.ancestors(), but supports followfirst.""" if followfirst: diff --git a/mercurial/simplemerge.py b/mercurial/simplemerge.py --- a/mercurial/simplemerge.py +++ b/mercurial/simplemerge.py @@ -29,6 +29,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + class CantReprocessAndShowBase(Exception): pass diff --git a/mercurial/sshserver.py b/mercurial/sshserver.py --- a/mercurial/sshserver.py +++ b/mercurial/sshserver.py @@ -18,6 +18,11 @@ wireproto, ) +try: + xrange +except NameError: + xrange = range + class sshserver(wireproto.abstractserverproto): def __init__(self, ui, repo): self.ui = ui diff --git a/mercurial/sslutil.py b/mercurial/sslutil.py --- a/mercurial/sslutil.py +++ b/mercurial/sslutil.py @@ -37,6 +37,11 @@ OP_NO_SSLv3 = 0x2000000 try: + xrange +except NameError: + xrange = range + +try: # ssl.SSLContext was added in 2.7.9 and presence indicates modern # SSL/TLS features are available. SSLContext = ssl.SSLContext diff --git a/mercurial/store.py b/mercurial/store.py --- a/mercurial/store.py +++ b/mercurial/store.py @@ -21,6 +21,11 @@ _sha = util.sha1 +try: + xrange +except NameError: + xrange = range + # This avoids a collision between a file named foo and a dir named # foo.i or foo.d def _encodedir(path): diff --git a/mercurial/streamclone.py b/mercurial/streamclone.py --- a/mercurial/streamclone.py +++ b/mercurial/streamclone.py @@ -18,6 +18,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def canperformstreamclone(pullop, bailifbundle2supported=False): """Whether it is possible to perform a streaming clone as part of pull. diff --git a/mercurial/templatefilters.py b/mercurial/templatefilters.py --- a/mercurial/templatefilters.py +++ b/mercurial/templatefilters.py @@ -27,6 +27,11 @@ util, ) +try: + xrange +except NameError: + xrange = range + def addbreaks(text): """:addbreaks: Any text. Add an XHTML "
" tag before the end of every line except the last. diff --git a/mercurial/treediscovery.py b/mercurial/treediscovery.py --- a/mercurial/treediscovery.py +++ b/mercurial/treediscovery.py @@ -18,6 +18,11 @@ error, ) +try: + xrange +except NameError: + xrange = range + def findcommonincoming(repo, remote, heads=None, force=False): """Return a tuple (common, fetch, heads) used to identify the common subset of nodes between repo and remote. diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -125,6 +125,11 @@ # libraries, and sure enough Mercurial is not a library.) os.stat_float_times(False) +try: + xrange +except NameError: + xrange = range + def safehasattr(thing, attr): return getattr(thing, attr, _notset) is not _notset diff --git a/mercurial/win32.py b/mercurial/win32.py --- a/mercurial/win32.py +++ b/mercurial/win32.py @@ -45,6 +45,11 @@ _WPARAM = ctypes.c_ulonglong _LPARAM = ctypes.c_longlong +try: + xrange +except NameError: + xrange = range + class _FILETIME(ctypes.Structure): _fields_ = [('dwLowDateTime', _DWORD), ('dwHighDateTime', _DWORD)] diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py --- a/mercurial/wireproto.py +++ b/mercurial/wireproto.py @@ -43,6 +43,11 @@ 'incompatible Mercurial client; bundle2 required\n' '(see https://www.mercurial-scm.org/wiki/IncompatibleClient)\n') +try: + xrange +except NameError: + xrange = range + class abstractserverproto(object): """abstract class that summarizes the protocol API diff --git a/tests/test-check-py3-compat.t b/tests/test-check-py3-compat.t --- a/tests/test-check-py3-compat.t +++ b/tests/test-check-py3-compat.t @@ -124,13 +124,13 @@ contrib/import-checker.py: invalid syntax: Missing parentheses in call to 'print' (, line *) (glob) doc/hgmanpage.py: invalid syntax: invalid syntax (, line *) (glob) hgext/automv.py: error importing module: invalid syntax (commands.py, line *) (line *) (glob) - hgext/blackbox.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/blackbox.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/bugzilla.py: error importing module: No module named 'urlparse' (line *) (glob) - hgext/censor.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/censor.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/chgserver.py: error importing module: No module named 'SocketServer' (line *) (glob) - hgext/children.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/churn.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/clonebundles.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/children.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/churn.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/clonebundles.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/color.py: invalid syntax: invalid syntax (, line *) (glob) hgext/convert/bzr.py: error importing module: Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob) hgext/convert/common.py: error importing module: No module named 'cPickle' (line *) (glob) @@ -141,69 +141,69 @@ hgext/convert/filemap.py: error importing module: Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob) hgext/convert/git.py: error importing module: Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob) hgext/convert/gnuarch.py: error importing module: Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob) - hgext/convert/hg.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/convert/hg.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/convert/monotone.py: error importing module: Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob) hgext/convert/p*.py: error importing module: Parent module 'hgext.convert' not loaded, cannot perform relative import (line *) (glob) hgext/convert/subversion.py: error importing module: No module named 'cPickle' (line *) (glob) hgext/convert/transport.py: error importing module: No module named 'svn.client' (line *) (glob) - hgext/eol.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/extdiff.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/eol.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/extdiff.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/factotum.py: error importing: No module named 'httplib' (error at url.py:*) (glob) hgext/fetch.py: error importing module: invalid syntax (commands.py, line *) (line *) (glob) hgext/fsmonitor/watchmanclient.py: error importing module: Parent module 'hgext.fsmonitor' not loaded, cannot perform relative import (line *) (glob) hgext/gpg.py: error importing module: invalid syntax (commands.py, line *) (line *) (glob) - hgext/graphlog.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/hgcia.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/hgk.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/graphlog.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/hgcia.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/hgk.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/highlight/highlight.py: error importing module: No module named 'pygments' (line *) (glob) hgext/histedit.py: error importing module: invalid syntax (bundle*.py, line *) (line *) (glob) hgext/keyword.py: error importing: No module named 'BaseHTTPServer' (error at common.py:*) (glob) hgext/largefiles/basestore.py: error importing: invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob) hgext/largefiles/lfcommands.py: error importing: invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob) - hgext/largefiles/lfutil.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/largefiles/lfutil.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/largefiles/localstore.py: error importing module: No module named 'lfutil' (line *) (glob) hgext/largefiles/overrides.py: error importing: invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob) hgext/largefiles/proto.py: error importing: No module named 'httplib' (error at httppeer.py:*) (glob) hgext/largefiles/remotestore.py: error importing: invalid syntax (bundle*.py, line *) (error at wireproto.py:*) (glob) - hgext/largefiles/reposetup.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/largefiles/reposetup.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/largefiles/uisetup.py: error importing module: invalid syntax (archival.py, line *) (line *) (glob) hgext/largefiles/wirestore.py: error importing module: No module named 'lfutil' (line *) (glob) hgext/mq.py: error importing module: invalid syntax (commands.py, line *) (line *) (glob) - hgext/notify.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/pager.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/patchbomb.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/purge.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/notify.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/pager.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/patchbomb.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/purge.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/rebase.py: error importing: invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob) - hgext/record.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/relink.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/schemes.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - hgext/share.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/record.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/relink.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/schemes.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + hgext/share.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/shelve.py: error importing module: invalid syntax (bundle*.py, line *) (line *) (glob) - hgext/strip.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + hgext/strip.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) hgext/transplant.py: error importing: invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob) mercurial/archival.py: invalid syntax: invalid syntax (, line *) (glob) - mercurial/branchmap.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/branchmap.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/bundle*.py: invalid syntax: invalid syntax (, line *) (glob) mercurial/bundlerepo.py: error importing module: invalid syntax (bundle*.py, line *) (line *) (glob) - mercurial/changegroup.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/changelog.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/cmdutil.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/changegroup.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/changelog.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/cmdutil.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/commands.py: invalid syntax: invalid syntax (, line *) (glob) mercurial/commandserver.py: error importing module: No module named 'SocketServer' (line *) (glob) - mercurial/context.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/copies.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/crecord.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/dirstate.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/discovery.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/dispatch.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/context.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/copies.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/crecord.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/dirstate.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/discovery.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/dispatch.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/exchange.py: error importing module: invalid syntax (bundle*.py, line *) (line *) (glob) - mercurial/extensions.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/filelog.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/filemerge.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/fileset.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/extensions.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/filelog.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/filemerge.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/fileset.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/formatter.py: error importing module: No module named 'cPickle' (line *) (glob) - mercurial/graphmod.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/help.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/graphmod.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/help.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/hg.py: error importing: invalid syntax (bundle*.py, line *) (error at bundlerepo.py:*) (glob) mercurial/hgweb/common.py: error importing module: No module named 'BaseHTTPServer' (line *) (glob) mercurial/hgweb/hgweb_mod.py: error importing module: Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob) @@ -214,38 +214,37 @@ mercurial/hgweb/webcommands.py: error importing module: Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob) mercurial/hgweb/webutil.py: error importing module: Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob) mercurial/hgweb/wsgicgi.py: error importing module: Parent module 'mercurial.hgweb' not loaded, cannot perform relative import (line *) (glob) - mercurial/hook.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/hook.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/httpclient/_readers.py: error importing module: No module named 'httplib' (line *) (glob) mercurial/httpconnection.py: error importing: No module named 'httplib' (error at __init__.py:*) (glob) mercurial/httppeer.py: error importing module: No module named 'httplib' (line *) (glob) mercurial/keepalive.py: error importing module: No module named 'httplib' (line *) (glob) - mercurial/localrepo.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/localrepo.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/mail.py: error importing module: module 'email' has no attribute 'Header' (line *) (glob) - mercurial/manifest.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/merge.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/namespaces.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/patch.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/manifest.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/merge.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/namespaces.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/patch.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/pure/parsers.py: error importing module: No module named 'mercurial.pure.node' (line *) (glob) - mercurial/pvec.py: error importing module: name 'xrange' is not defined (line *) (glob) mercurial/repair.py: error importing module: invalid syntax (bundle*.py, line *) (line *) (glob) - mercurial/revlog.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/revset.py: error importing module: name 'xrange' is not defined (line *) (glob) - mercurial/scmutil.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/revlog.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/revset.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/scmutil.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/scmwindows.py: error importing module: No module named '_winreg' (line *) (glob) - mercurial/simplemerge.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/simplemerge.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/sshpeer.py: error importing: invalid syntax (bundle*.py, line *) (error at wireproto.py:*) (glob) - mercurial/sshserver.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/statichttprepo.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/store.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/streamclone.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/subrepo.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/templatefilters.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/templatekw.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) - mercurial/templater.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/sshserver.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/statichttprepo.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/store.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/streamclone.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/subrepo.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/templatefilters.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/templatekw.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) + mercurial/templater.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/ui.py: error importing: No module named 'cPickle' (error at formatter.py:*) (glob) - mercurial/unionrepo.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/unionrepo.py: error importing: 'function' object has no attribute 'func_code' (error at util.py:*) (glob) mercurial/url.py: error importing module: No module named 'httplib' (line *) (glob) - mercurial/verify.py: error importing: name 'xrange' is not defined (error at revset.py:*) (glob) + mercurial/verify.py: error importing module: 'function' object has no attribute 'func_code' (line *) (glob) mercurial/win*.py: error importing module: No module named 'msvcrt' (line *) (glob) mercurial/windows.py: error importing module: No module named '_winreg' (line *) (glob) mercurial/wireproto.py: error importing module: invalid syntax (bundle*.py, line *) (line *) (glob)