Projects structure with single codebase
As part of the single codebase effort carried out in &802 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.
- 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
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:
- Use the API to move all issues to
- Setup an automated job that will sync from
gitlab-org/gitlab-ceexcluding any proprietary code
- Setup a place for CI notifications for
gitlab-org/gitlab-ceto ensure that we see any failures
- Close the issue tracker and MRs for
gitlab-org/gitlab-ceand point to
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