[PATCH 1 of 2] cmdutil: use absolute_import
Gregory Szorc
gregory.szorc at gmail.com
Tue Mar 1 22:10:26 UTC 2016
# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1456646227 28800
# Sat Feb 27 23:57:07 2016 -0800
# Node ID 4adf897a5f0bdc1ce302cafaada352c86c4e74f2
# Parent aa73d6a5d9ea60d2c82ad9c53fc562614aa982f9
cmdutil: use absolute_import
Now that @command doesn't write back into commands when it is being
executed during the loading of commands.py itself, we are unblocked
from converting cmdutil to absolute_import.
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -4,20 +4,49 @@
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
-from node import hex, bin, nullid, nullrev, short
-from i18n import _
-import os, sys, errno, re, tempfile, cStringIO
-import util, scmutil, templater, patch, error, templatekw, revlog, copies
-import match as matchmod
-import repair, graphmod, revset, phases, obsolete, pathutil
-import changelog
-import bookmarks
-import encoding
-import formatter
-import crecord as crecordmod
-import lock as lockmod
+from __future__ import absolute_import
+
+import cStringIO
+import errno
+import os
+import re
+import sys
+import tempfile
+
+from .i18n import _
+from .node import (
+ bin,
+ hex,
+ nullid,
+ nullrev,
+ short,
+)
+
+from . import (
+ bookmarks,
+ changelog,
+ copies,
+ crecord as crecordmod,
+ encoding,
+ error,
+ formatter,
+ graphmod,
+ lock as lockmod,
+ match as matchmod,
+ obsolete,
+ patch,
+ pathutil,
+ phases,
+ repair,
+ revlog,
+ revset,
+ scmutil,
+ templatekw,
+ templater,
+ util,
+)
def ishunk(x):
hunkclasses = (crecordmod.uihunk, patch.recordhunk)
return isinstance(x, hunkclasses)
@@ -77,10 +106,9 @@ def recordfilter(ui, originalhunks, oper
return newchunks, newopts
def dorecord(ui, repo, commitfunc, cmdsuggest, backupall,
filterfn, *pats, **opts):
- import merge as mergemod
-
+ from . import merge as mergemod
if not ui.interactive():
if cmdsuggest:
msg = _('running non-interactively, use %s instead') % cmdsuggest
else:
@@ -866,9 +894,9 @@ def tryimportone(ui, repo, hunk, parents
:updatefunc: a function that update a repo to a given node
updatefunc(<repo>, <node>)
"""
# avoid cycle context -> subrepo -> cmdutil
- import context
+ from . import context
extractdata = patch.extract(ui, hunk)
tmpname = extractdata.get('filename')
message = extractdata.get('message')
user = opts.get('user') or extractdata.get('user')
@@ -2506,9 +2534,9 @@ def commit(ui, repo, commitfunc, pats, o
return commitfunc(ui, repo, message, matcher, opts)
def amend(ui, repo, commitfunc, old, extra, pats, opts):
# avoid cycle context -> subrepo -> cmdutil
- import context
+ from . import context
# amend will reuse the existing user if not specified, but the obsolete
# marker creation requires that the current user's name is specified.
if obsolete.isenabled(repo, obsolete.createmarkersopt):
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
@@ -87,9 +87,8 @@
hgext/win32mbcs.py not using absolute_import
hgext/win32text.py not using absolute_import
i18n/check-translation.py not using absolute_import
i18n/polib.py not using absolute_import
- mercurial/cmdutil.py not using absolute_import
mercurial/commands.py not using absolute_import
setup.py not using absolute_import
tests/filterpyflakes.py requires print_function
tests/generate-working-copy-states.py requires print_function
More information about the Mercurial-devel
mailing list