GitLab: Show full namespaces in "GitLab Projects" window

Andrei Rogov 2 years ago updated 2 years ago 1

GitLab provides functionality for creating nested groups of projects (subgroups).

Such subgroups correspond to multi-level namespaces.

In its current version (18.2 RC 2), SmartGit recognizes only the top-level namespace.

So, if "Project" is in "mygitlab.com/Group0/SubGroupA/Project.git", its "Namespace" in the window "GitLab Projects" will read: "Group0".

Instead, for the purpose of structure, I propose the namespace should read the full name of the namespace: "Group0/SubGroupA".

Otherwise, a different project, with the same name, in the same top-level group "Group0", but in a different subgroup "SubGroupB",

will not be distinguishable from the first one!


Project LocationNameNamespace (now)Namespace (proposed)
mygitlab.com/Group0/SubGroupA/Project.git Project Group0 Group0/SubGroupA
mygitlab.com/Group0/SubGroupB/Project.git Project Group0 Group0/SubGroupB

That's exactly the awkward situation my team and I have run into recently.

Essentially, this means I can't use GitLab subgroups and create projects of the same name without running into confusion with SmartGit.

I hope I am not alone looking for the solution!



This situation is not as farfetched as it may seem at first.

My team has been developing an embedded hardware product series S, which includes a number of separate hardware units (modules) M1, M2, M3,..., MN.

In terms of GitLab, each module is in a separate project of the same name. All modules make up the series - subgroup "S" of some other group.

Recently, series S is being completely redesigned and upgraded, both hardware- and embedded software-wise. At the same time, we can't abandon the old series S.

Therefore, we create a separate subgroup "S-New", with separate projects for redeveloped modules.

However, names of the modules should not change: customers are conservative with the modules names, because each unit name means a very specific industrial application area.

And here we are...

By the way, in SmartGit older version (18.1.x) the situation was "inversed": "Namespace" showed only the bottom-level group (SubGroupA/SubGroupB) in the example above.