Mercurial > public > mercurial-scm > hg-stable
diff hgext/histedit.py @ 46114:59fa3890d40a
node: import symbols explicitly
There is no point in lazy importing mercurial.node, it is used all over
the place anyway. So consistently import the used symbols directly.
Fix one file using symbols indirectly via mercurial.revlog.
Differential Revision: https://phab.mercurial-scm.org/D9480
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Tue, 01 Dec 2020 21:54:46 +0100 |
parents | 6f8a94bbfba1 |
children | 8477c91b5e8e |
line wrap: on
line diff
--- a/hgext/histedit.py Sun Dec 13 18:29:22 2020 -0800 +++ b/hgext/histedit.py Tue Dec 01 21:54:46 2020 +0100 @@ -209,6 +209,11 @@ getattr, open, ) +from mercurial.node import ( + bin, + hex, + short, +) from mercurial import ( bundle2, cmdutil, @@ -225,7 +230,6 @@ merge as mergemod, mergestate as mergestatemod, mergeutil, - node, obsolete, pycompat, registrar, @@ -404,8 +408,8 @@ def _write(self, fp): fp.write(b'v1\n') - fp.write(b'%s\n' % node.hex(self.parentctxnode)) - fp.write(b'%s\n' % node.hex(self.topmost)) + fp.write(b'%s\n' % hex(self.parentctxnode)) + fp.write(b'%s\n' % hex(self.topmost)) fp.write(b'%s\n' % (b'True' if self.keep else b'False')) fp.write(b'%d\n' % len(self.actions)) for action in self.actions: @@ -415,8 +419,8 @@ fp.write( b'%s%s\n' % ( - node.hex(replacement[0]), - b''.join(node.hex(r) for r in replacement[1]), + hex(replacement[0]), + b''.join(hex(r) for r in replacement[1]), ) ) backupfile = self.backupfile @@ -432,10 +436,10 @@ lines[index] # version number index += 1 - parentctxnode = node.bin(lines[index]) + parentctxnode = bin(lines[index]) index += 1 - topmost = node.bin(lines[index]) + topmost = bin(lines[index]) index += 1 keep = lines[index] == b'True' @@ -458,9 +462,9 @@ index += 1 for i in pycompat.xrange(replacementlen): replacement = lines[index] - original = node.bin(replacement[:40]) + original = bin(replacement[:40]) succ = [ - node.bin(replacement[i : i + 40]) + bin(replacement[i : i + 40]) for i in range(40, len(replacement), 40) ] replacements.append((original, succ)) @@ -494,12 +498,12 @@ # ruleid can be anything from rev numbers, hashes, "bookmarks" etc # Check for validation of rule ids and get the rulehash try: - rev = node.bin(ruleid) + rev = bin(ruleid) except TypeError: try: _ctx = scmutil.revsingle(state.repo, ruleid) rulehash = _ctx.hex() - rev = node.bin(rulehash) + rev = bin(rulehash) except error.RepoLookupError: raise error.ParseError(_(b"invalid changeset %s") % ruleid) return cls(state, rev) @@ -507,7 +511,7 @@ def verify(self, prev, expected, seen): """ Verifies semantic correctness of the rule""" repo = self.repo - ha = node.hex(self.node) + ha = hex(self.node) self.node = scmutil.resolvehexnodeidprefix(repo, ha) if self.node is None: raise error.ParseError(_(b'unknown changeset %s listed') % ha[:12]) @@ -518,14 +522,13 @@ if self.node not in expected: raise error.ParseError( _(b'%s "%s" changeset was not a candidate') - % (self.verb, node.short(self.node)), + % (self.verb, short(self.node)), hint=_(b'only use listed changesets'), ) # and only one command per node if self.node in seen: raise error.ParseError( - _(b'duplicated command for changeset %s') - % node.short(self.node) + _(b'duplicated command for changeset %s') % short(self.node) ) def torule(self): @@ -557,7 +560,7 @@ """Print an action in format used by histedit state files (the first line is a verb, the remainder is the second) """ - return b"%s\n%s" % (self.verb, node.hex(self.node)) + return b"%s\n%s" % (self.verb, hex(self.node)) def run(self): """Runs the action. The default behavior is simply apply the action's @@ -578,8 +581,7 @@ repo.dirstate.setbranch(rulectx.branch()) if stats.unresolvedcount: raise error.InterventionRequired( - _(b'Fix up the change (%s %s)') - % (self.verb, node.short(self.node)), + _(b'Fix up the change (%s %s)') % (self.verb, short(self.node)), hint=_(b'hg histedit --continue to resume'), ) @@ -614,8 +616,7 @@ ctx = self.repo[b'.'] if ctx.node() == self.state.parentctxnode: self.repo.ui.warn( - _(b'%s: skipping changeset (no changes)\n') - % node.short(self.node) + _(b'%s: skipping changeset (no changes)\n') % short(self.node) ) return ctx, [(self.node, tuple())] if ctx.node() == self.node: @@ -684,7 +685,7 @@ for c in ctxs: if not c.mutable(): raise error.ParseError( - _(b"cannot fold into public change %s") % node.short(c.node()) + _(b"cannot fold into public change %s") % short(c.node()) ) base = firstctx.p1() @@ -786,13 +787,17 @@ def run(self): rulectx = self.repo[self.node] if rulectx.p1().node() == self.state.parentctxnode: - self.repo.ui.debug(b'node %s unchanged\n' % node.short(self.node)) + self.repo.ui.debug(b'node %s unchanged\n' % short(self.node)) return rulectx, [] return super(pick, self).run() -@action([b'edit', b'e'], _(b'use commit, but allow edits before making new commit'), priority=True) +@action( + [b'edit', b'e'], + _(b'use commit, but allow edits before making new commit'), + priority=True, +) class edit(histeditaction): def run(self): repo = self.repo @@ -802,8 +807,8 @@ hint = _(b'to edit %s, `hg histedit --continue` after making changes') raise error.InterventionRequired( _(b'Editing (%s), commit as needed now to split the change') - % node.short(self.node), - hint=hint % node.short(self.node), + % short(self.node), + hint=hint % short(self.node), ) def commiteditor(self): @@ -824,7 +829,7 @@ c = repo[prev.node] if not c.mutable(): raise error.ParseError( - _(b"cannot fold into public change %s") % node.short(c.node()) + _(b"cannot fold into public change %s") % short(c.node()) ) def continuedirty(self): @@ -833,7 +838,7 @@ commit = commitfuncfor(repo, rulectx) commit( - text=b'fold-temp-revision %s' % node.short(self.node), + text=b'fold-temp-revision %s' % short(self.node), user=rulectx.user(), date=rulectx.date(), extra=rulectx.extra(), @@ -845,7 +850,7 @@ rulectx = repo[self.node] parentctxnode = self.state.parentctxnode if ctx.node() == parentctxnode: - repo.ui.warn(_(b'%s: empty changeset\n') % node.short(self.node)) + repo.ui.warn(_(b'%s: empty changeset\n') % short(self.node)) return ctx, [(self.node, (parentctxnode,))] parentctx = repo[parentctxnode] @@ -859,7 +864,7 @@ b'%s: cannot fold - working copy is not a ' b'descendant of previous commit %s\n' ) - % (node.short(self.node), node.short(parentctxnode)) + % (short(self.node), short(parentctxnode)) ) return ctx, [(self.node, (ctx.node(),))] @@ -973,7 +978,7 @@ if self.node in expected: msg = _(b'%s "%s" changeset was an edited list candidate') raise error.ParseError( - msg % (self.verb, node.short(self.node)), + msg % (self.verb, short(self.node)), hint=_(b'base must only use unlisted changesets'), ) @@ -1717,8 +1722,7 @@ revs = between(repo, root, topmost, keep) if not revs: raise error.Abort( - _(b'%s is not an ancestor of working directory') - % node.short(root) + _(b'%s is not an ancestor of working directory') % short(root) ) ctxs = [] @@ -2071,16 +2075,16 @@ if mapping: for prec, succs in pycompat.iteritems(mapping): if not succs: - ui.debug(b'histedit: %s is dropped\n' % node.short(prec)) + ui.debug(b'histedit: %s is dropped\n' % short(prec)) else: ui.debug( b'histedit: %s is replaced by %s\n' - % (node.short(prec), node.short(succs[0])) + % (short(prec), short(succs[0])) ) if len(succs) > 1: m = b'histedit: %s' for n in succs[1:]: - ui.debug(m % node.short(n)) + ui.debug(m % short(n)) if not state.keep: if mapping: @@ -2125,7 +2129,7 @@ try: state.read() __, leafs, tmpnodes, __ = processreplacement(state) - ui.debug(b'restore wc to old parent %s\n' % node.short(state.topmost)) + ui.debug(b'restore wc to old parent %s\n' % short(state.topmost)) # Recover our old commits if necessary if not state.topmost in repo and state.backupfile: @@ -2179,7 +2183,7 @@ state.read() if not rules: comment = geteditcomment( - ui, node.short(state.parentctxnode), node.short(state.topmost) + ui, short(state.parentctxnode), short(state.topmost) ) rules = ruleeditor(repo, ui, state.actions, comment) else: @@ -2220,7 +2224,7 @@ revs = between(repo, root, topmost, state.keep) if not revs: raise error.Abort( - _(b'%s is not an ancestor of working directory') % node.short(root) + _(b'%s is not an ancestor of working directory') % short(root) ) ctxs = [repo[r] for r in revs] @@ -2257,7 +2261,7 @@ ) if not rules: - comment = geteditcomment(ui, node.short(root), node.short(topmost)) + comment = geteditcomment(ui, short(root), short(topmost)) actions = [pick(state, r) for r in revs] rules = ruleeditor(repo, ui, actions, comment) else: @@ -2461,12 +2465,12 @@ actions[:0] = drops elif missing: raise error.ParseError( - _(b'missing rules for changeset %s') % node.short(missing[0]), + _(b'missing rules for changeset %s') % short(missing[0]), hint=_( b'use "drop %s" to discard, see also: ' b"'hg help -e histedit.config'" ) - % node.short(missing[0]), + % short(missing[0]), ) @@ -2620,7 +2624,7 @@ if common_nodes: raise error.Abort( _(b"histedit in progress, can't strip %s") - % b', '.join(node.short(x) for x in common_nodes) + % b', '.join(short(x) for x in common_nodes) ) return orig(ui, repo, nodelist, *args, **kwargs)