API support for committing changes based on start branch in different project in same fork network
Problem to solve
From https://gitlab.com/gitlab-org/gitlab-ce/issues/59647:
The Web IDE is only available to users with write access to the repository. Forking means it is possible for anyone to contribute to a public project, by making a fork, committing their change and opening a merge request. We should make it possible to edit read-only projects, then commit them to a new or existing fork.
Before we can support this, we need the API to support committing a change to a fork, based on the current state of a branch in the original project.
This can take the shape of a new start_project
option on the multi-change commit API, alongside the existing start_branch
, both of which are already supported by the Files::MultiService
the endpoint uses. The param could support both a numeric project ID or a string path. We need to verify that the project is in the target project's fork network, and that the current user can view its repo.