From 5cbfe54ddccb7aa81f873dab834f0c6d84fe3682 Mon Sep 17 00:00:00 2001 From: John Wesley Walker III <81404201+jww3@users.noreply.github.com> Date: Thu, 14 Mar 2024 15:40:14 +0100 Subject: Check git version before attempting to disable `sparse-checkout` (#1656) * Check git version before attempting to disable `sparse-checkout` * Bump `MinimumGitSparseCheckoutVersion` to 2.28 due to #1386 * Initial prep for release 4.1.3 --- src/git-source-provider.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/git-source-provider.ts') 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 { @@ -209,7 +212,11 @@ export async function getSource(settings: IGitSourceSettings): Promise { // 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) { -- cgit v1.2.3