@@ -228,8 +228,7 @@ spec:
228228 branch: <branch-name>
229229` ` `
230230
231- Using the [`go-git` Git implementation](#git-implementation), this will perform
232- a shallow clone to only fetch the specified branch.
231+ This will perform a shallow clone to only fetch the specified branch.
233232
234233# ### Tag example
235234
@@ -284,9 +283,9 @@ spec:
284283 commit: "<commit SHA>"
285284` ` `
286285
287- This field takes precedence over all other fields. Using the [`go-git` Git
288- implementation](#git-implementation), it can be combined with `.spec.ref.branch`
289- to perform a shallow clone of the branch, in which the commit must exist :
286+ This field takes precedence over all other fields. It can be combined with
287+ ` .spec.ref.branch` to perform a shallow clone of the branch, in which the
288+ commit must exist :
290289
291290` ` ` yaml
292291---
@@ -385,32 +384,13 @@ resume.
385384
386385# ## Git implementation
387386
388- **Note:** `libgit2` is being deprecated, as its use is known to cause controllers
389- to panic when running over long periods of time, or when under high GC pressure.
390- A new opt-out feature gate `ForceGoGitImplementation` was introduced, which will
391- use `go-git` regardless of the value defined at `.spec.gitImplementation`.
392- This can be disabled by starting the controller with the additional flag below :
393- ` --feature-gates=ForceGoGitImplementation=false` .
394-
395- ` .spec.gitImplementation` is an optional field to change the client library
396- implementation used for Git operations (e.g. clone, checkout). The default
397- value is `go-git`.
398-
399- Unless you need support for a specific Git wire protocol functionality not
400- supported by the default implementation (as documented below), changing the
401- implementation is generally not recommended as it can come with its own set of
402- drawbacks. For example, not being able to make use of shallow clones forces the
403- controller to fetch the whole Git history tree instead of a specific one,
404- resulting in an increase of disk space and traffic usage.
405-
406- **Note:** The `libgit2` implementation does not support shallow clones or
407- Git submodules.
387+ ` .spec.gitImplementation` is deprecated and its value ignored, the git
388+ implementation used across Flux is go-git.
408389
409390# ### Optimized Git clones
410391
411392Optimized Git clones decreases resource utilization for GitRepository
412- reconciliations. It supports both `go-git` and `libgit2` implementations
413- when cloning repositories using branches or tags.
393+ reconciliations.
414394
415395When enabled, it avoids full Git clone operations by first checking whether
416396the revision of the last stored artifact is still the head of the remote
@@ -428,20 +408,13 @@ not affected by this functionality.
428408# ### Proxy support
429409
430410When a proxy is configured in the source-controller Pod through the appropriate
431- environment variables, for example `HTTPS_PROXY`, `NO_PROXY`, etc. There may be
432- some limitations in the proxy support based on the Git implementation.
433-
434- | Git Implementation | HTTP_PROXY | HTTPS_PROXY | NO_PROXY | Self-signed Certs |
435- |--------------------|------------|-------------|----------|-------------------|
436- | `go-git` | true | true | true | false |n
437- | `libgit2` | true | true | true | true |
411+ environment variables, for example `HTTPS_PROXY`, `NO_PROXY`, etc.
438412
439413# ## Recurse submodules
440414
441415` .spec.recurseSubmodules` is an optional field to enable the initialization of
442416all submodules within the cloned Git repository, using their default settings.
443- This option is only available when using the (default) `go-git` [Git
444- implementation](#git-implementation), and defaults to `false`.
417+ This option defaults to `false`.
445418
446419Note that for most Git providers (e.g. GitHub and GitLab), deploy keys can not
447420be used as reusing a key across multiple repositories is not allowed. You have
0 commit comments