Skip to content

Shells: Implement the use of git-clone(1) again

In the past, the GIT_STRATEGY 'clone' used to use git-clone(1), but at some point we needed clone a specific reference. For example for merged result pipelines we'd clone refs/merge-requests//merge. It is not possible with git-clone(1) a ref, so the implementation was rewritten to use git-init(1) + git-fetch(1).

Now we've been working to upstream changes to Git and soon it will support argument --revision. This option allows use to use git-clone(1) to clone and checkout a specific reference.

Prepare the code to use git-clone(1) with argument --revision. The changes are behind feature flag FF_USE_GIT_NATIVE_CLONE, and only should be used if a the helper image contains a Git version that supports --revision.

Closes: Can we make runner use git-clone(1) again (#37947 - closed) & Use git-clone with --revision (#38576 - closed)

Edited by Axel von Bertoldi

Merge request reports

Loading