The source project of this merge request has been removed.
Use git-init templates (clone) and git config without --global (fetch) to disable recurseSubmodules
What does this MR do?
The Runner unconditionally disables submodules for the repository it is working on. This commit:
- Stops doing this using
git config --global
- For fetch, uses
git config
aftergit init
- For clone, uses a custom git template directory to apply the config to the created .git/config file
Why was this MR needed?
Using git config --global
modifies the user's ~/.gitconfig, which is surprising (you may want to test the runner using your own user, for instance). For Git 1.7.1, which is the minimum version we need to support, a custom template directory is the only feasible way to get git clone
to respect custom configuration directives at fetch time.
An alternative would be to re-implement git clone by running the plumbing commands in the correct sequence.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Branch has no merge conflicts with master
(if you do - rebase it please)
What are the relevant issue numbers?
Closes #1469 (closed)