D3047: push: avoid using repo.lookup() for converting to nodeid

martinvonz (Martin von Zweigbergk) phabricator at mercurial-scm.org
Tue Apr 3 22:09:06 UTC 2018


martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  repo.lookup(x) currently simply does repo[x].node(), which supports
  various types of inputs. As I explained in https://phab.mercurial-scm.org/rHG0194dac77c93912e3073466c440f4f175fc93bc0 (scmutil: add
  method for looking up a context given a revision symbol, 2018-04-02),
  I'd like to split that up so we use the new scmutil.revsymbol() for
  string inputs repo[x] for integer revnums and binary nodeids. Since
  repo.lookup() seems to exist in order to serve peer.lookup(), I think
  it should be calling revsymbol. However, we have several callers that
  use repo.lookup() with something that's not a string, so we need to
  remove those first. This patch starts doing that. Many more will
  follow.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3047

AFFECTED FILES
  mercurial/commands.py

CHANGE DETAILS

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -4148,7 +4148,7 @@
     other = hg.peer(repo, opts, dest)
 
     if revs:
-        revs = [repo.lookup(r) for r in scmutil.revrange(repo, revs)]
+        revs = [repo[r].node() for r in scmutil.revrange(repo, revs)]
         if not revs:
             raise error.Abort(_("specified revisions evaluate to an empty set"),
                              hint=_("use different revision arguments"))



To: martinvonz, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list