[PATCH 2 of 2] cat: do not instantiate subrepo if no potential match in it
Yuya Nishihara
yuya at tcha.org
Mon Nov 27 07:35:04 EST 2017
On Sun, 26 Nov 2017 20:11:25 -0500, Matt Harbison wrote:
> On Sun, 26 Nov 2017 05:38:53 -0500, Yuya Nishihara <yuya at tcha.org> wrote:
> > On Sat, 25 Nov 2017 23:53:45 -0500, Matt Harbison wrote:
> >> It's probably beyond the scope of what you were fixing, but should all
> >> subrepo recursion be guarded like this?
> >>
> >> > sub = ctx.sub(subpath)
> >> > try:
> >> > submatch = matchmod.subdirmatcher(subpath, matcher)
> >
> > Maybe we'll need ctx.walksub(matcher) which yields (subrepo, submatcher)
> > pairs?
>
> I like it.
>
> I wonder if the exception handler that prints 'skipping..' can be rolled
> in too.
I think that's up to a caller whether a missing subrepo can be ignored or not.
> At least cmdutil.add() and cmdutil.cat() catch different things,
> and I have a vague recollection that there was also some uncaught
> exception in this area. (I don't recall what it was, maybe the subrepo
> being completely missing?)
Perhaps catching error.LookupError is wrong. It's the exception raised when
ambiguous identifier is passed to repo[].
More information about the Mercurial-devel
mailing list