Draft: Support Git access for group wikis
What does this MR do?
This adds support for Git access to group wiki repositories. It turns out most of the backend work for this was already done in &2214 (closed), so this resolves three remaining issues from &2782:
This is the first Git repository that's exposed on a toplevel path,
so we refactor the routing away from :namespace_id
/ :repository_id
towards a single :repository_path
.
This makes more sense for snippets too, since they don't always have a namespace. We can also remove the duplicated route definitions, project snippets were still getting matched by project routes anyway.
We also introduce a Routable.find_by_full_path
helper to find routable
objects without knowing their class, which is used for wikis in
Gitlab::RepoPath
.
This is quite an intrusive change, so some of the specs also had to
be refactored/extended for group wikis, and the new logic around
repository_path
.
Screenshots
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team