D12134: notify: don't produce errors if a revision is not found
av6 (Anton Shestakov)
phabricator at mercurial-scm.org
Mon Feb 7 06:40:58 UTC 2022
av6 created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
Notify extension has a way to only subscribe to a specific revset, such as
"branch(foo)". Before this patch, when there was no branch with that name, it
would produce a traceback saying "unknown revision: foo". With this patch it
would no longer do that, and instead it'll assume there are no revisions that
match this revset. I think this patch is an improvement in general, but there's
a reason I'm sending it now.
test-notify.t has a test case where it obsoletes the only revision on a branch,
and previously that wouldn't produce any complications, because head
computation wasn't obsolescence-aware. Now if the only revision on a branch is
obsolete, repo should not see that branch at all.
That branch will still be present in branchcache (with an empty list of
revisions) until the next patch.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D12134
AFFECTED FILES
hgext/notify.py
CHANGE DETAILS
diff --git a/hgext/notify.py b/hgext/notify.py
--- a/hgext/notify.py
+++ b/hgext/notify.py
@@ -435,7 +435,10 @@
if spec is None:
subs.add(sub)
continue
- revs = self.repo.revs(b'%r and %d:', spec, ctx.rev())
+ try:
+ revs = self.repo.revs(b'%r and %d:', spec, ctx.rev())
+ except error.RepoLookupError:
+ continue
if len(revs):
subs.add(sub)
continue
To: av6, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list