Skip to content

Draft: Support Git access for group wikis

Markus Koller requested to merge 225611-group-wikis-git-access into master

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

Availability and Testing

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
Edited by Markus Koller

Merge request reports