
Simon Peyton Jones via ghc-devs
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