D3005: scmutil: introduce deprecated alias for revpair()
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Sun Apr 1 07:11:17 UTC 2018
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
revsingle() returns a context object, revpair() returns nodeids,
revrange() returns integer revisions (in a revset). I'm going to
reduce this inconsistency by making revpair() return context
objects. Changing the return type is not nice to extensions, so this
patch introduces a nodeid-returning version of revpair() that they can
detect and use. Update callers to the new function so we can change
revpair() itself and then migrate them back one by one.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D3005
AFFECTED FILES
hgext/extdiff.py
mercurial/commands.py
mercurial/fileset.py
mercurial/scmutil.py
tests/autodiff.py
CHANGE DETAILS
diff --git a/tests/autodiff.py b/tests/autodiff.py
--- a/tests/autodiff.py
+++ b/tests/autodiff.py
@@ -40,7 +40,7 @@
else:
raise error.Abort(b'--git must be yes, no or auto')
- node1, node2 = scmutil.revpair(repo, [])
+ node1, node2 = scmutil.revpairnodes(repo, [])
m = scmutil.match(repo[node2], pats, opts)
it = patch.diff(repo, node1, node2, match=m, opts=diffopts,
losedatafn=losedatafn)
diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -446,6 +446,9 @@
tree = revsetlang.parse(revspec)
return tree and tree[0] in ('range', 'rangepre', 'rangepost', 'rangeall')
+def revpairnodes(repo, revs):
+ return revpair(repo, revs)
+
def revpair(repo, revs):
if not revs:
return repo.dirstate.p1(), None
diff --git a/mercurial/fileset.py b/mercurial/fileset.py
--- a/mercurial/fileset.py
+++ b/mercurial/fileset.py
@@ -513,7 +513,7 @@
revspec = getstring(r, reverr)
if not revspec:
raise error.ParseError(reverr)
- basenode, node = scmutil.revpair(repo, [baserevspec, revspec])
+ basenode, node = scmutil.revpairnodes(repo, [baserevspec, revspec])
basectx = repo[basenode]
ctx = repo[node]
return getset(mctx.switch(ctx, _buildstatus(ctx, x, basectx=basectx)), x)
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1878,7 +1878,7 @@
node1 = repo[node2].p1().node()
else:
repo = scmutil.unhidehashlikerevs(repo, revs, 'nowarn')
- node1, node2 = scmutil.revpair(repo, revs)
+ node1, node2 = scmutil.revpairnodes(repo, revs)
if reverse:
node1, node2 = node2, node1
@@ -4880,7 +4880,7 @@
node1 = repo[node2].p1().node()
else:
repo = scmutil.unhidehashlikerevs(repo, revs, 'nowarn')
- node1, node2 = scmutil.revpair(repo, revs)
+ node1, node2 = scmutil.revpairnodes(repo, revs)
if pats or ui.configbool('commands', 'status.relative'):
cwd = repo.getcwd()
diff --git a/hgext/extdiff.py b/hgext/extdiff.py
--- a/hgext/extdiff.py
+++ b/hgext/extdiff.py
@@ -171,7 +171,7 @@
node2 = scmutil.revsingle(repo, change, None).node()
node1a, node1b = repo.changelog.parents(node2)
else:
- node1a, node2 = scmutil.revpair(repo, revs)
+ node1a, node2 = scmutil.revpairnodes(repo, revs)
if not revs:
node1b = repo.dirstate.p2()
else:
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list