Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/src/git-source-provider.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/git-source-provider.ts')
-rw-r--r--src/git-source-provider.ts11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/git-source-provider.ts b/src/git-source-provider.ts
index 0589722..f723d94 100644
--- a/src/git-source-provider.ts
+++ b/src/git-source-provider.ts
@@ -9,7 +9,10 @@ import * as path from 'path'
import * as refHelper from './ref-helper'
import * as stateHelper from './state-helper'
import * as urlHelper from './url-helper'
-import {IGitCommandManager} from './git-command-manager'
+import {
+ MinimumGitSparseCheckoutVersion,
+ IGitCommandManager
+} from './git-command-manager'
import {IGitSourceSettings} from './git-source-settings'
export async function getSource(settings: IGitSourceSettings): Promise<void> {
@@ -209,7 +212,11 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
// Sparse checkout
if (!settings.sparseCheckout) {
- await git.disableSparseCheckout()
+ let gitVersion = await git.version()
+ // no need to disable sparse-checkout if the installed git runtime doesn't even support it.
+ if (gitVersion.checkMinimum(MinimumGitSparseCheckoutVersion)) {
+ await git.disableSparseCheckout()
+ }
} else {
core.startGroup('Setting up sparse checkout')
if (settings.sparseCheckoutConeMode) {