The source project of this merge request has been removed.
Import gitlab-shell gitlab_projects.rb as at v5.10.2
What does this MR do?
Imports code from gitlab-shell so we can invoke git subprocesses directly rather than via a gitlab-shell subprocess
Are there points in the code the reviewer needs to double check?
We need to put gitlab_projects.rb into lib/gitlab/git, so gitaly-ruby can also benefit. I'm going to be paring the lib/gitlab/shell.rb interface down as far as I can.
We also need to remove this code from the gitlab-shell project.
Why was this MR needed?
Doing this directly has both performance and correctness benefits. gitlab-shell processes take about 200ms to load, and we need to manage these git subprocesses more carefully to avoid inappropriate SIGKILLs on them. Removing the intermediate gitlab-shell subprocesses helps with both things.
Screenshots (if relevant)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Tests added for this feature/bug - Review
-
Has been reviewed by Backend
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together -
Internationalization required/considered
What are the relevant issue numbers?
Closes #41016 (closed)
Edited by Nick Thomas