Skip to content
  • Daniel Gröber (dxld)'s avatar
    0a85502b
    CODEOWNERS: Use sections to allow multiple matching entries · 0a85502b
    Daniel Gröber (dxld) authored and Marge Bot's avatar Marge Bot committed
    The CODEOWNERS documentation has this to say on the current matching
    behaviour:
    
    > The path definition order is significant: the last pattern matching a
    > given path is used to find the code owners.
    
    Take this as an example:
    
        /rts/        bgamari [...]
        /rts/win32/  Phyx
    
    (I'm omitting the '@' so as to not notification spam everyone)
    
    This means a change in a file under win23 would only have Phyx but not
    bgamari as approver. I don't think that's the behaviour we want.
    
    Using "sections" we can get additive behaviour instead, from the docs:
    
    > Additionally, the usual guidance that only the last pattern matching the
    > file is applied is expanded such that the last pattern matching for each
    > section is applied.
    
        [RTS]
        /rts/        bgamari [...]
    
        [WinIO]
        /rts/win32/  Phyx
    
    So now since those entries are in different sections both would be added to
    the approvers list.
    
    The sections feature was introduced in Gitlab 13.2, see "Version history"
    on [1] we're currently running 18.8 on gitlab.haskell.org, see [2].
    
    [1]: https://docs.gitlab.com/13.8/ee/user/project/code_owners.html#code-owners-sections
    [2]: https://gitlab.haskell.org/help
    0a85502b
    CODEOWNERS: Use sections to allow multiple matching entries
    Daniel Gröber (dxld) authored and Marge Bot's avatar Marge Bot committed
    The CODEOWNERS documentation has this to say on the current matching
    behaviour:
    
    > The path definition order is significant: the last pattern matching a
    > given path is used to find the code owners.
    
    Take this as an example:
    
        /rts/        bgamari [...]
        /rts/win32/  Phyx
    
    (I'm omitting the '@' so as to not notification spam everyone)
    
    This means a change in a file under win23 would only have Phyx but not
    bgamari as approver. I don't think that's the behaviour we want.
    
    Using "sections" we can get additive behaviour instead, from the docs:
    
    > Additionally, the usual guidance that only the last pattern matching the
    > file is applied is expanded such that the last pattern matching for each
    > section is applied.
    
        [RTS]
        /rts/        bgamari [...]
    
        [WinIO]
        /rts/win32/  Phyx
    
    So now since those entries are in different sections both would be added to
    the approvers list.
    
    The sections feature was introduced in Gitlab 13.2, see "Version history"
    on [1] we're currently running 18.8 on gitlab.haskell.org, see [2].
    
    [1]: https://docs.gitlab.com/13.8/ee/user/project/code_owners.html#code-owners-sections
    [2]: https://gitlab.haskell.org/help
Loading