Projects structure with single codebase
As part of the single codebase effort carried out in &802 (closed) and described in the Design document, we will need to change the names of gitlab-ee and gitlab-ce repositories and have a SSOT for our issue tracker and MR location.
Requirements
- Issue tracker needs to have all issues consolidated to the single project
- Any open MR's will need to be ported over
- A new repository needs to be created to host only FOSS version of GitLab
- The new repository with FOSS needs to run CI
Proposal
In the design document, I've proposed renaming gitlab-org/gitlab-ee
repository to gitlab-org/gitlab
and migrating all issues from gitlab-org/gitlab-ce
project. The reason for this is that we will get to keep gitlab-org/gitlab-ce
as it is now so the Community won't have to change any remotes to clone a FOSS version of the software.
The process would look something like this:
- Rename
gitlab-org/gitlab-ee
togitlab-org/gitlab
- Use the API to move all issues to
gitlab-org/gitlab
fromgitlab-org/gitlab-ce
- Setup an automated job that will sync from
gitlab-org/gitlab
togitlab-org/gitlab-ce
excluding any proprietary code - Setup a place for CI notifications for
gitlab-org/gitlab-ce
to ensure that we see any failures - Close the issue tracker and MRs for
gitlab-org/gitlab-ce
and point togitlab-org/gitlab
?
Challenges to address
- Is moving all issues a sensible thing to do?
- If we close the issue trackers, how do we handle redirects?
- Does it make more sense to create a completely new project and archive
gitlab-ee
andgitlab-ce
?