Groups and projects
Ben Gamari
ben at well-typed.com
Thu Jan 24 17:16:21 UTC 2019
Simon Peyton Jones via ghc-devs <ghc-devs at haskell.org> writes:
>> Alright, I believe I have found the issue: you are a member of
>> the GHC group and GitLab's default notification behavior is that
>> you will receive notifications for all events of repositories in
>> groups to which you belong.
>
> OK thanks, that's helpful.
>
> When you say "repository" could you also have said "project". That is,
> are "projects" and "repositories" in 1-1 correspondence?
>
Yes, exactly. A project has a git repository, a wiki, an issue tracker
(although this is currently disabled in the case of the ghc project),
and can accept pull requests. I have been guilty of using the words
"repository" and "project" interchangeably, which likely doesn't make
things any clearer.
> So, to understand the semantics, you can belong to
>
> * A project.
> * A group
>
> What's the difference? The group seems to be "Glasgow Haskell
> Compiler"; the project seems to be "Glasgow Haskell Compiler / GHC".
> Does that imply that
>
> * every project is part of a group; but
> * a group may have many projects?
>
Almost. Projects have owners. An owner may be either a group or a user.
For instance,
* https://gitlab.haskell.org/ghc/ghc is a project (named `ghc`)
belonging to the `ghc` group.
* https://gitlab.haskell.org/bgamari/ghc is a project belonging to the
`bgamari` user.
Groups may nest. https://gitlab.haskell.org/ghc/packages is a subgroup
(named `packages`) of the `ghc` group.
https://gitlab.haskell.org/ghc/packages/haskeline is a project
(`haskeline`) owned by that group.
Users can be "members" of both groups and projects. There are a few
flavours of membership ("reporter", "developer", "maintainer", and
"owner") which all imply different sets of permissions (documented here
[1]). If a user is a member of a group then they are granted permissions
to all projects of that group (and its subgroups).
As you discovered, membership also implies a few things about the
notifications you will receive about a project or group of projects.
[1] https://docs.gitlab.com/ee/user/permissions.html
> Or maybe a project can be part of more than one group?
>
> The "Custom settings" on a project seem to be identical to the "custom
> settings" for a group. If Gitlab is deciding whether to send me a
> notification N, is it clear whether it's a "project notification" or a
> "group notification"? If so, then it can consult the appropriate
> settings; but if not, it's not clear.
>
> Sorry for all these questions. It's astonishingly common for large
> software systems to describe the surface knobs without describing the
> underlying model that makes sense of all those knobs!
>
Yes, this is quite true. I do hope I could help clear up the fog. Do ask
if things are still hazy.
Cheers,
- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190124/9e011de1/attachment.sig>
More information about the ghc-devs
mailing list