# HG changeset patch # User Anton Shestakov # Date 1644164091 -10800 # Node ID ae27a0684e75679c34a59bb0f92ecd580be1bd38 # Parent f1eb77dceb360ff3590a10ca8f7efb7629193fd5 notify: don't produce errors if a revision is not found 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. Differential Revision: https://phab.mercurial-scm.org/D12134 diff -r f1eb77dceb36 -r ae27a0684e75 hgext/notify.py --- a/hgext/notify.py Thu Feb 03 18:14:11 2022 +0100 +++ b/hgext/notify.py Sun Feb 06 19:14:51 2022 +0300 @@ -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