Remove Gitlab::Shell#create_repository
What does this MR do?
This MR removes Gitlab::Shell#create_repository
, replacing it with calls to ::Gitlab::Git::Repository#create_repository
instead. The two are equivalent; there's no need to indirect through Gitlab::Shell
, and we only do it for historical reasons. Removing these calls simplifies the codebase and aids understanding.
The end goal is to remove all instance methods from Gitlab::Shell
. In this MR, I also promote a couple of methods to class level (version
and url_to_repo
), and remove some dead code. Technically they could be separate MRs in their own right, but they're quite small changes, and I already split several other MRs out of here. I think what remains is small enough to be reviewed in a single piece.
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
-
Separation of EE specific content
Availability and Testing
This is mostly just a refactoring, but ::Repository
does have caching properties that ::Gitlab::Git::Repository
lacks. I've looked, and think it's OK, but it's something to pay close attention to in review.
Part of #25095 (closed)