Resolve -/p/ and -/g/ ID-based project/group URLs that have further suffix to subgroup/project and within project file-path
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem
Currently (18.4.0-pre 2ea813c6), groups and project links of the form https://my.gitlab.org/-/g/$groupId
and https://my.gitlab.org/-/p/$projectId
allow to navigate to groups and projects.
However, it is not possible to suffix further URL components to these URLs. The following is not possible (with the variables representing the links, for brevity):
$groupIdLink/subgroupA/project/blob/$commitBranchOrTag/README.md
$projectIdLink/raw/blob/$commitBranchOrTag/README.md
Instead a 404 is returned.
Expected behavior
Links like the above examples should transparently resolve to the file versions they intend to point to.
Why is that important?
We are using GitLab in a regulated context and have lots of documents that must link to groups and projects. These links should be permalinks, i.e., point to immutable data (which is no problem with git) and be permanently accessible. We want to be able to unambiguously address individual documents and document versions in GitLab. This is possible with e.g. split information such as ($projectId, raw/$commitOrBranchOrTag/README.md)
, however this is awkward for work and everything but appropriate since the advent of hyperlinks.
Note that the current "permalinks" use the path with subgroups and project names, but these can be changed (just move the project or group) and the original path may be overwritten by a new group/project with the same name. So from this perspective your permalinks are not really permalinks!