diff --git a/edenscm/hgext/smartlog.py b/edenscm/hgext/smartlog.py index c4cb465f56..4dba6210db 100644 --- a/edenscm/hgext/smartlog.py +++ b/edenscm/hgext/smartlog.py @@ -448,7 +448,6 @@ def smartlogrevset(repo, subset, x): 'master' is the head of the public branch. (default: 'interestingmaster()') """ - args = revset.getargsdict(x, "smartlogrevset", "heads master") if "master" in args: masterset = revset.getset(repo, subset, args["master"]) @@ -464,10 +463,14 @@ def smartlogrevset(repo, subset, x): masterset -= smartset.baseset([nodemod.nullrev]) if nodemod.nullrev in heads: heads.remove(nodemod.nullrev) - # Select ancestors that are draft. - drafts = repo.revs("draft() & ::%ld", heads) - # Include parents of drafts, and public heads. - revs = repo.revs("parents(%ld) + %ld + %ld + %ld", drafts, drafts, heads, masterset) + # Explicitly disable revnum deprecation warnings. + with repo.ui.configoverride({("devel", "legacy.revnum:real"): ""}): + # Select ancestors that are draft. + drafts = repo.revs("draft() & ::%ld", heads) + # Include parents of drafts, and public heads. + revs = repo.revs( + "parents(%ld) + %ld + %ld + %ld", drafts, drafts, heads, masterset + ) # Include the ancestor of above commits to make the graph connected. # diff --git a/tests/test-revnum-deprecate-t.py b/tests/test-revnum-deprecate-t.py index a81fe1e117..6da6cd34fc 100644 --- a/tests/test-revnum-deprecate-t.py +++ b/tests/test-revnum-deprecate-t.py @@ -72,3 +72,11 @@ sh % "setconfig 'devel.legacy.revnum=abort'" sh % "hg up 0" == r""" abort: local revision number is disabled in this repo [255]""" + +# smartlog revset + +sh % "enable smartlog" +sh % "hg log -r 'smartlog()' -T." == "..." +sh % "hg log -r 'smartlog(1)' -T." == r""" + abort: local revision number is disabled in this repo + [255]"""