Create the source branch for a GitHub import
When the GitHub importer creates a merge request, it retrieves the SHA
but does not actually create the source branch. This makes it impossible
to merge an open merge request, particularly if the source branch were
from a forked project. In that case, the branch will never exist because
the original project-name:source-branch
name is never created, nor
is it a valid branch name.
To prevent possible branch name conflicts, forked source branches
are now renamed github/fork/project-name/source-branch
and created
when necessary.
Note that we only create the source branch if the merge request is open. For projects that have many merge requests, the project would end up with a lot of possibly dead branches.