Refactor often conflicting files to reduce potential CE->EE conflicts
This is a mid-term solution.
Based on https://docs.google.com/spreadsheets/d/1A4f9UwGuJgyOTZSs-7qU1beLU_ivfwgpvk6wmlhb9GE/edit#gid=0 (and https://codeclimate.com/github/gitlabhq/gitlabhq/trends) we can identify good candidates to refactor in order to avoid potential conflicts when merging CE into EE:
-
app/controllers/projects/merge_requests_controller.rb
(https://codeclimate.com/github/gitlabhq/gitlabhq/Projects::MergeRequestsController) -
app/views/shared/issuable/_form.html.haml
: !7249 (merged) + !7453 (merged) + !7758 (merged) + !7852 (merged) -
app/services/merge_requests/update_service.rb
(https://codeclimate.com/github/gitlabhq/gitlabhq/MergeRequests::UpdateService) -
app/views/devise/shared/_signin_box.html.haml
-
app/controllers/projects/project_members_controller.rb
(https://codeclimate.com/github/gitlabhq/gitlabhq/Projects::ProjectMembersController) -
app/models/project.rb
-
app/views/groups/group_members/index.html.haml
-
app/views/projects/edit.html.haml
-
app/views/projects/project_members/index.html.haml
-
lib/gitlab/ldap/access.rb
Found by https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2886 -
lib/gitlab/git_access.rb
https://gitlab.com/gitlab-org/gitlab-ce/issues/26288
Notes:
- The short-term solution could be to use
# EE-specific
comments to help developers identify EE-specific chunks of code while resolving conflicts: https://gitlab.com/gitlab-org/gitlab-ee/issues/1170 - The long-term solution will be to use architectural solutions that allows us to prevent conflicts in the first place, even when introducing new code: gitlab-org/gitlab-ce#23865
Edited by Lin Jen-Shin