META: Identify EE-specific git operations
Go through the EE codebase and list EE-specific git invocations.
-
Move git operations for merge and squash in MergeRequests::WorkingCopyBaseService
and its subclasses intoGitlab::Git
. It will unlock the following migrations:-
MergeRequests::RebaseService.rebase: #754 (closed) Should be migrated along with EE::MergeRequest#rebase_in_progress?
-
MergeRequests::SquashService.squash: #755 (closed) Should be migrated along with EE::MergeRequest#squash_in_progress?
-
-
EE::Repository::with_config
: runs a block with extra rugged configuration. It is only used onGeo::BaseSyncService#fetch_http_geo_mirror
to add an authorization header. We could just include an authorization parameter when we migrateRepository#fetch_as_mirror
. -
Projects::UpdateRemoteMirrorService
is hardwired to userugged_is_ancestor?
. The use case is checking if a remote reference is ancestor to a local reference. I would suspect that the already migratedCommitService.CommitIsAncestor
RPC is capable of doing so. We should check and if so change that code to go through agitaly_migrate
block. It's also probably easier if we move the existinggitaly_migrate
fromRepository#ancestor?
intoGitlab::Git
. -
Move git operations of Elasticsearch::Git::Repository
intoGitlab::Git::Repository
. There are four methods where Rugged operations are used:index_blobs
,index_commits
,index_blobs_array
andindex_commits_array
. Still unsure what are the endpoints that would come out of this, I think it will become clearer when we do the refactoring intoG::G
.
Edited by Jacob Vosmaer