diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -5,16 +5,35 @@ # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. -from i18n import _ -from node import hex, nullid -import errno, urllib, urllib2 -import util, scmutil, changegroup, base85, error -import discovery, phases, obsolete, bookmarks as bookmod, bundle2, pushkey -import lock as lockmod -import streamclone -import sslutil -import tags -import url as urlmod +from __future__ import absolute_import + +import errno +import urllib +import urllib2 + +from .i18n import _ +from .node import ( + hex, + nullid, +) +from . import ( + base85, + bookmarks as bookmod, + bundle2, + changegroup, + discovery, + error, + lock as lockmod, + obsolete, + phases, + pushkey, + scmutil, + sslutil, + streamclone, + tags, + url as urlmod, + util, +) # Maps bundle compression human names to internal representation. _bundlespeccompressions = {'none': None, 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 @@ -101,7 +101,6 @@ mercurial/cmdutil.py not using absolute_import mercurial/commands.py not using absolute_import mercurial/dispatch.py requires print_function - mercurial/exchange.py not using absolute_import mercurial/httpclient/__init__.py not using absolute_import mercurial/httpclient/_readers.py not using absolute_import mercurial/httpclient/socketutil.py not using absolute_import