[PATCH 2 of 2 V2] lfs: register the flag processors per repository

Yuya Nishihara yuya at tcha.org
Fri Oct 12 09:31:04 EDT 2018


On Fri, 12 Oct 2018 08:05:09 -0400, Matt Harbison wrote:
> > On Oct 12, 2018, at 3:45 AM, Yuya Nishihara <yuya at tcha.org> wrote:
> >> On Wed, 10 Oct 2018 23:36:21 -0400, Matt Harbison wrote:
> >> # HG changeset patch
> >> # User Matt Harbison <matt_harbison at yahoo.com>
> >> # Date 1538626646 14400
> >> #      Thu Oct 04 00:17:26 2018 -0400
> >> # Node ID 5c2d039bb214924cd35688c51136fab31c40f6b9
> >> # Parent  2ac7a5b9a3d794c5357373d75a67e1032ae68a97
> >> lfs: register the flag processors per repository
> > 
> >> I didn't see a good way to get a handle to the current module to compare
> >> when walking the enabled extensions.
> > 
> > Perhaps, sys.modules[__name__] can be used.
> > 
> >> +def _resolverevlogstorevfsoptions(orig, ui, requirements, features):
> >> +    opts = orig(ui, requirements, features)
> >> +    for name, module in extensions.extensions(ui):
> >> +        if name == b'lfs':
> >> +            if revlog.REVIDX_EXTSTORED in opts[b'flagprocessors']:
> >> +                msg = (_(b"cannot register multiple processors on flag '%#x'.")
> >> +                       % (flag))
> >                             ^^^^
> > Copy-paste error.
> > 
> >> +                raise error.Abort(msg)
> > 
> > Was it intentional to change ProgrammingError to Abort? I think that's somewhat
> > correct, but just wanna confirm.
> 
> I don’t think is was changed:
> 
>     https://www.mercurial-scm.org/repo/hg/file/e67522413ca8/mercurial/revlog.py#l162
> 
> I guess the difference is registering unknown flags is never right, but registering the same flag twice might be a configuration error, like enabling conflicting extensions?
> 

Right. I didn't read that part carefully, sorry.


More information about the Mercurial-devel mailing list