D5220: revsets: make bookmark/named('re:nonexistent') revset not abort (issue6018)
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Mon Nov 5 17:18:54 UTC 2018
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Foozy documented the differences between revsets branch(), tag(),
bookmark(), and named() in https://phab.mercurial-scm.org/rHGeeb5d5ab14a661ad445ac6cb868901f3faa11a70 (revset: raise RepoLookupError
to make present() predicate continue the query, 2015-01-31). He seemed
to want tag() to change behavior to not error out on non-matching
regular expressions. I think it's instead bookmark() and named() that
should not error out. So that's what this patch does.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D5220
AFFECTED FILES
mercurial/revset.py
tests/test-bookmarks.t
tests/test-revset2.t
CHANGE DETAILS
diff --git a/tests/test-revset2.t b/tests/test-revset2.t
--- a/tests/test-revset2.t
+++ b/tests/test-revset2.t
@@ -669,8 +669,6 @@
abort: namespace 'unknown' does not exist!
[255]
$ log 'named("re:unknown")'
- abort: no namespace exists that match 'unknown'!
- [255]
$ log 'present(named("unknown"))'
$ log 'present(named("re:unknown"))'
diff --git a/tests/test-bookmarks.t b/tests/test-bookmarks.t
--- a/tests/test-bookmarks.t
+++ b/tests/test-bookmarks.t
@@ -202,8 +202,6 @@
abort: bookmark 'unknown' does not exist!
[255]
$ hg log -r 'bookmark("re:unknown")'
- abort: no bookmarks exist that match 'unknown'!
- [255]
$ hg log -r 'present(bookmark("literal:unknown"))'
$ hg log -r 'present(bookmark("re:unknown"))'
diff --git a/mercurial/revset.py b/mercurial/revset.py
--- a/mercurial/revset.py
+++ b/mercurial/revset.py
@@ -466,9 +466,6 @@
for name, bmrev in repo._bookmarks.iteritems():
if matcher(name):
matchrevs.add(bmrev)
- if not matchrevs:
- raise error.RepoLookupError(_("no bookmarks exist"
- " that match '%s'") % pattern)
for bmrev in matchrevs:
bms.add(repo[bmrev].rev())
else:
@@ -1330,9 +1327,6 @@
for name, ns in repo.names.iteritems():
if matcher(name):
namespaces.add(ns)
- if not namespaces:
- raise error.RepoLookupError(_("no namespace exists"
- " that match '%s'") % pattern)
names = set()
for ns in namespaces:
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list