25

I'm using Gitlab 5.0 to manage my git repositories and I've never used github before Gitlab.

When I create a group, I see a new directory with this group name in /home/git/repositories. But with team, no such thing is done. Also, with group, I can create a project for the group and the assignments (for users of this group) is done automatically.

I can't see any other differences between group and team and I would like to understand that.

Thank you in advance and sorry for the bad English (I'm french),

naike
  • 673
  • 4
  • 11
  • 19
  • Note: GitLab 6.0 (August 2013) replaces teams with "group membership". See [y edited answer below](http://stackoverflow.com/a/15894795/6309) – VonC Aug 21 '13 at 08:17
  • 1
    Thank you for your edit. Now I'm going to upgrade to this version of Gitlab. – naike Aug 22 '13 at 05:10

1 Answers1

36

GitLab 6.0 (August 2013, 22d)

See commit 3bc4845:

Feature: Replace teams with group membership

We introduce group membership in 6.0 as a replacement for teams.
The old combination of groups and teams was confusing for a lot of people.
And when the members of a team where changed, this wasn't reflected in the project permissions.

In GitLab 6.0 you will be able to add members to a group with a permission level for each member.
These group members will have access to the projects in that group.
Any changes to group members will immediately be reflected in the project permissions.
You can even have multiple owners for a group, greatly simplifying administration.


Why do references to Teams still exist in GitLab 7 then? e.g. "Filter by Team"

As a user, you are a first a member of a group, and have roles ('Reporter', 'Developer', ...) associated to a project (which makes you a member of that project, part of the "team" for that project).
No role, means "not a member of the team for a project".
See db/migrate/20140914145549_migrate_to_new_members_model.rb.


Answer for GitLab 5.x (before August 2013, 22d)

  • Group is for grouping projects, similar to a folder (git repositories)
  • Team is for grouping resources (people)

Those notions have been refined in GitLab 4.2.

That allows you to manage authorization in a more convenient way, given permissions to a group of projects in one operation, and/or given permission to a group of people, referenced by their team.

GitLab 5.x no longer used Gitolite, but before 5.0, teams and groups are coming from Gitolite, and its gitolite.conf configuration file.
This is where team and groups were declared and associated in order to grant permission access.
Even without gitolite, the idea persists: managing the authorization through association between teams (of people) and groups (of projects).

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • 1
    Why do references to Teams still exist in GitLab 7 then? e.g. "Filter by Team" – Philip Whitehouse Jul 07 '15 at 08:33
  • I was wondering about this as well; I came across this Q for this exact question. – Peter van Arkel Jul 31 '15 at 08:01
  • 1
    @PetervanArkel Team is for project (any user with role for that project), Group is for users. See my edit. – VonC Jul 31 '15 at 08:47
  • @VonC: Hi! I know this thread is quite old and i'm using version 9.3.9 but just wanted to know whether GitLab allows creating a team of devs and adding the team to a group/project? Say i have 10 people in a team and one leaves and another one joins the company. In such case, if i have a team named dev, i can simply remove the old user and add the new one to the team. That way, whichever group the team is part of, changes will automatically get reflected there. – Technext Sep 20 '17 at 06:28
  • @Technext Are you using CE or EE? With CE, we have to use a batch for provisioning groups (checking if a user is part of an LDAP group). With EE, you might not have to do that, because of LDAP group sync: https://docs.gitlab.com/ee/administration/auth/ldap-ee.html#use-cases – VonC Sep 20 '17 at 06:37
  • I am using CE and i am already using `user_filter` but that's on the AD side actually. I was looking for a feature that's on the GitLab UI side. – Technext Sep 20 '17 at 06:47
  • 1
    @Technext That is my point: on the GitLab side, there is no UI or synchronization feature. I have a Java program that will query every 15 minutes LDAP groups, and will query GitLab groups before reconciling the later with the folder, adding or removing users as needed. – VonC Sep 20 '17 at 06:49
  • Oh...got it now. Thanks for the idea @VonC. :) – Technext Sep 20 '17 at 06:51