diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -116,6 +116,8 @@ # operator methods def stringset(repo, subset, x, order): + if not x: + raise error.ParseError(_("empty string is not a valid revision")) x = scmutil.intrev(repo[x]) if (x in subset or x == node.nullrev and isinstance(subset, fullreposet)): diff --git a/tests/test-revset2.t b/tests/test-revset2.t --- a/tests/test-revset2.t +++ b/tests/test-revset2.t @@ -581,7 +581,8 @@ hg: parse error: empty query [255] $ log 'parents("")' - 8 + hg: parse error: empty string is not a valid revision + [255] we can use patterns when searching for tags