Skip to content

Use gitlab_git create branch instead of gitlab_shell to prevent shelling out for better performance

This change switches the use of gitlab-shell for gitlab_git. The main reason is performance because the latter uses Rugged instead of shelled out git executions, so we save the forking time and memory overhead.

In general this change is quite small and simple and is just an initial step to do the same thing with tagging.

There is still one thing left to do that is beyond the scope for now: handle exceptions correctly to not let Rugged leak out of gitlab_git.

cc @DouweM

Fixes #3329 (closed)

Merge request reports