mirror of
https://code.forgejo.org/actions/checkout.git
synced 2024-11-24 04:29:16 +01:00
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
This commit is contained in:
parent
8410ad0602
commit
cd7d8d697e
8 changed files with 97 additions and 30 deletions
|
@ -796,7 +796,8 @@ async function setup(testName: string): Promise<void> {
|
||||||
),
|
),
|
||||||
tryDisableAutomaticGarbageCollection: jest.fn(),
|
tryDisableAutomaticGarbageCollection: jest.fn(),
|
||||||
tryGetFetchUrl: jest.fn(),
|
tryGetFetchUrl: jest.fn(),
|
||||||
tryReset: jest.fn()
|
tryReset: jest.fn(),
|
||||||
|
version: jest.fn()
|
||||||
}
|
}
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -501,6 +501,7 @@ async function setup(testName: string): Promise<void> {
|
||||||
}),
|
}),
|
||||||
tryReset: jest.fn(async () => {
|
tryReset: jest.fn(async () => {
|
||||||
return true
|
return true
|
||||||
})
|
}),
|
||||||
|
version: jest.fn()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import {GitVersion} from '../lib/git-version'
|
import {GitVersion} from '../src/git-version'
|
||||||
|
import {MinimumGitSparseCheckoutVersion} from '../src/git-command-manager'
|
||||||
|
|
||||||
describe('git-version tests', () => {
|
describe('git-version tests', () => {
|
||||||
it('basics', async () => {
|
it('basics', async () => {
|
||||||
|
@ -42,4 +43,44 @@ describe('git-version tests', () => {
|
||||||
expect(version.checkMinimum(new GitVersion('5.1'))).toBeFalsy()
|
expect(version.checkMinimum(new GitVersion('5.1'))).toBeFalsy()
|
||||||
expect(version.checkMinimum(new GitVersion('5.1.2'))).toBeFalsy()
|
expect(version.checkMinimum(new GitVersion('5.1.2'))).toBeFalsy()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('sparse checkout', async () => {
|
||||||
|
const minSparseVer = MinimumGitSparseCheckoutVersion
|
||||||
|
expect(new GitVersion('1.0').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('1.99').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.0').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.24').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.24.0').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.24.9').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.25').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.25.0').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.25.1').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.25.9').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.26').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.26.0').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.26.1').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.26.9').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.27').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.27.0').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.27.1').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
expect(new GitVersion('2.27.9').checkMinimum(minSparseVer)).toBeFalsy()
|
||||||
|
// /---------------------------------------
|
||||||
|
// ^^^ before / after vvv
|
||||||
|
// --------------------------/
|
||||||
|
expect(new GitVersion('2.28').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.28.0').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.28.1').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.28.9').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.29').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.29.0').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.29.1').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.29.9').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('2.99').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('3.0').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('3.99').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('4.0').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('4.99').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('5.0').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
expect(new GitVersion('5.99').checkMinimum(minSparseVer)).toBeTruthy()
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
33
dist/index.js
vendored
33
dist/index.js
vendored
|
@ -467,7 +467,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.createCommandManager = exports.MinimumGitVersion = void 0;
|
exports.createCommandManager = exports.MinimumGitSparseCheckoutVersion = exports.MinimumGitVersion = void 0;
|
||||||
const core = __importStar(__nccwpck_require__(2186));
|
const core = __importStar(__nccwpck_require__(2186));
|
||||||
const exec = __importStar(__nccwpck_require__(1514));
|
const exec = __importStar(__nccwpck_require__(1514));
|
||||||
const fs = __importStar(__nccwpck_require__(7147));
|
const fs = __importStar(__nccwpck_require__(7147));
|
||||||
|
@ -480,7 +480,9 @@ const retryHelper = __importStar(__nccwpck_require__(2155));
|
||||||
const git_version_1 = __nccwpck_require__(3142);
|
const git_version_1 = __nccwpck_require__(3142);
|
||||||
// Auth header not supported before 2.9
|
// Auth header not supported before 2.9
|
||||||
// Wire protocol v2 not supported before 2.18
|
// Wire protocol v2 not supported before 2.18
|
||||||
|
// sparse-checkout not [well-]supported before 2.28 (see https://github.com/actions/checkout/issues/1386)
|
||||||
exports.MinimumGitVersion = new git_version_1.GitVersion('2.18');
|
exports.MinimumGitVersion = new git_version_1.GitVersion('2.18');
|
||||||
|
exports.MinimumGitSparseCheckoutVersion = new git_version_1.GitVersion('2.28');
|
||||||
function createCommandManager(workingDirectory, lfs, doSparseCheckout) {
|
function createCommandManager(workingDirectory, lfs, doSparseCheckout) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
return yield GitCommandManager.createCommandManager(workingDirectory, lfs, doSparseCheckout);
|
return yield GitCommandManager.createCommandManager(workingDirectory, lfs, doSparseCheckout);
|
||||||
|
@ -498,6 +500,7 @@ class GitCommandManager {
|
||||||
this.lfs = false;
|
this.lfs = false;
|
||||||
this.doSparseCheckout = false;
|
this.doSparseCheckout = false;
|
||||||
this.workingDirectory = '';
|
this.workingDirectory = '';
|
||||||
|
this.gitVersion = new git_version_1.GitVersion();
|
||||||
}
|
}
|
||||||
branchDelete(remote, branch) {
|
branchDelete(remote, branch) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
@ -850,6 +853,11 @@ class GitCommandManager {
|
||||||
return output.exitCode === 0;
|
return output.exitCode === 0;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
version() {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
return this.gitVersion;
|
||||||
|
});
|
||||||
|
}
|
||||||
static createCommandManager(workingDirectory, lfs, doSparseCheckout) {
|
static createCommandManager(workingDirectory, lfs, doSparseCheckout) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const result = new GitCommandManager();
|
const result = new GitCommandManager();
|
||||||
|
@ -901,21 +909,21 @@ class GitCommandManager {
|
||||||
this.gitPath = yield io.which('git', true);
|
this.gitPath = yield io.which('git', true);
|
||||||
// Git version
|
// Git version
|
||||||
core.debug('Getting git version');
|
core.debug('Getting git version');
|
||||||
let gitVersion = new git_version_1.GitVersion();
|
this.gitVersion = new git_version_1.GitVersion();
|
||||||
let gitOutput = yield this.execGit(['version']);
|
let gitOutput = yield this.execGit(['version']);
|
||||||
let stdout = gitOutput.stdout.trim();
|
let stdout = gitOutput.stdout.trim();
|
||||||
if (!stdout.includes('\n')) {
|
if (!stdout.includes('\n')) {
|
||||||
const match = stdout.match(/\d+\.\d+(\.\d+)?/);
|
const match = stdout.match(/\d+\.\d+(\.\d+)?/);
|
||||||
if (match) {
|
if (match) {
|
||||||
gitVersion = new git_version_1.GitVersion(match[0]);
|
this.gitVersion = new git_version_1.GitVersion(match[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!gitVersion.isValid()) {
|
if (!this.gitVersion.isValid()) {
|
||||||
throw new Error('Unable to determine git version');
|
throw new Error('Unable to determine git version');
|
||||||
}
|
}
|
||||||
// Minimum git version
|
// Minimum git version
|
||||||
if (!gitVersion.checkMinimum(exports.MinimumGitVersion)) {
|
if (!this.gitVersion.checkMinimum(exports.MinimumGitVersion)) {
|
||||||
throw new Error(`Minimum required git version is ${exports.MinimumGitVersion}. Your git ('${this.gitPath}') is ${gitVersion}`);
|
throw new Error(`Minimum required git version is ${exports.MinimumGitVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}`);
|
||||||
}
|
}
|
||||||
if (this.lfs) {
|
if (this.lfs) {
|
||||||
// Git-lfs version
|
// Git-lfs version
|
||||||
|
@ -943,14 +951,12 @@ class GitCommandManager {
|
||||||
}
|
}
|
||||||
this.doSparseCheckout = doSparseCheckout;
|
this.doSparseCheckout = doSparseCheckout;
|
||||||
if (this.doSparseCheckout) {
|
if (this.doSparseCheckout) {
|
||||||
// The `git sparse-checkout` command was introduced in Git v2.25.0
|
if (!this.gitVersion.checkMinimum(exports.MinimumGitSparseCheckoutVersion)) {
|
||||||
const minimumGitSparseCheckoutVersion = new git_version_1.GitVersion('2.25');
|
throw new Error(`Minimum Git version required for sparse checkout is ${exports.MinimumGitSparseCheckoutVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}`);
|
||||||
if (!gitVersion.checkMinimum(minimumGitSparseCheckoutVersion)) {
|
|
||||||
throw new Error(`Minimum Git version required for sparse checkout is ${minimumGitSparseCheckoutVersion}. Your git ('${this.gitPath}') is ${gitVersion}`);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Set the user agent
|
// Set the user agent
|
||||||
const gitHttpUserAgent = `git/${gitVersion} (github-actions-checkout)`;
|
const gitHttpUserAgent = `git/${this.gitVersion} (github-actions-checkout)`;
|
||||||
core.debug(`Set git useragent to: ${gitHttpUserAgent}`);
|
core.debug(`Set git useragent to: ${gitHttpUserAgent}`);
|
||||||
this.gitEnv['GIT_HTTP_USER_AGENT'] = gitHttpUserAgent;
|
this.gitEnv['GIT_HTTP_USER_AGENT'] = gitHttpUserAgent;
|
||||||
});
|
});
|
||||||
|
@ -1155,6 +1161,7 @@ const path = __importStar(__nccwpck_require__(1017));
|
||||||
const refHelper = __importStar(__nccwpck_require__(8601));
|
const refHelper = __importStar(__nccwpck_require__(8601));
|
||||||
const stateHelper = __importStar(__nccwpck_require__(8647));
|
const stateHelper = __importStar(__nccwpck_require__(8647));
|
||||||
const urlHelper = __importStar(__nccwpck_require__(9437));
|
const urlHelper = __importStar(__nccwpck_require__(9437));
|
||||||
|
const git_command_manager_1 = __nccwpck_require__(738);
|
||||||
function getSource(settings) {
|
function getSource(settings) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
// Repository URL
|
// Repository URL
|
||||||
|
@ -1288,8 +1295,12 @@ function getSource(settings) {
|
||||||
}
|
}
|
||||||
// Sparse checkout
|
// Sparse checkout
|
||||||
if (!settings.sparseCheckout) {
|
if (!settings.sparseCheckout) {
|
||||||
|
let gitVersion = yield git.version();
|
||||||
|
// no need to disable sparse-checkout if the installed git runtime doesn't even support it.
|
||||||
|
if (gitVersion.checkMinimum(git_command_manager_1.MinimumGitSparseCheckoutVersion)) {
|
||||||
yield git.disableSparseCheckout();
|
yield git.disableSparseCheckout();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
core.startGroup('Setting up sparse checkout');
|
core.startGroup('Setting up sparse checkout');
|
||||||
if (settings.sparseCheckoutConeMode) {
|
if (settings.sparseCheckoutConeMode) {
|
||||||
|
|
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "checkout",
|
"name": "checkout",
|
||||||
"version": "4.1.2",
|
"version": "4.1.3",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "checkout",
|
"name": "checkout",
|
||||||
"version": "4.1.2",
|
"version": "4.1.3",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "checkout",
|
"name": "checkout",
|
||||||
"version": "4.1.2",
|
"version": "4.1.3",
|
||||||
"description": "checkout action",
|
"description": "checkout action",
|
||||||
"main": "lib/main.js",
|
"main": "lib/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -11,7 +11,9 @@ import {GitVersion} from './git-version'
|
||||||
|
|
||||||
// Auth header not supported before 2.9
|
// Auth header not supported before 2.9
|
||||||
// Wire protocol v2 not supported before 2.18
|
// Wire protocol v2 not supported before 2.18
|
||||||
|
// sparse-checkout not [well-]supported before 2.28 (see https://github.com/actions/checkout/issues/1386)
|
||||||
export const MinimumGitVersion = new GitVersion('2.18')
|
export const MinimumGitVersion = new GitVersion('2.18')
|
||||||
|
export const MinimumGitSparseCheckoutVersion = new GitVersion('2.28')
|
||||||
|
|
||||||
export interface IGitCommandManager {
|
export interface IGitCommandManager {
|
||||||
branchDelete(remote: boolean, branch: string): Promise<void>
|
branchDelete(remote: boolean, branch: string): Promise<void>
|
||||||
|
@ -60,6 +62,7 @@ export interface IGitCommandManager {
|
||||||
tryDisableAutomaticGarbageCollection(): Promise<boolean>
|
tryDisableAutomaticGarbageCollection(): Promise<boolean>
|
||||||
tryGetFetchUrl(): Promise<string>
|
tryGetFetchUrl(): Promise<string>
|
||||||
tryReset(): Promise<boolean>
|
tryReset(): Promise<boolean>
|
||||||
|
version(): Promise<GitVersion>
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function createCommandManager(
|
export async function createCommandManager(
|
||||||
|
@ -83,6 +86,7 @@ class GitCommandManager {
|
||||||
private lfs = false
|
private lfs = false
|
||||||
private doSparseCheckout = false
|
private doSparseCheckout = false
|
||||||
private workingDirectory = ''
|
private workingDirectory = ''
|
||||||
|
private gitVersion: GitVersion = new GitVersion()
|
||||||
|
|
||||||
// Private constructor; use createCommandManager()
|
// Private constructor; use createCommandManager()
|
||||||
private constructor() {}
|
private constructor() {}
|
||||||
|
@ -480,6 +484,10 @@ class GitCommandManager {
|
||||||
return output.exitCode === 0
|
return output.exitCode === 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async version(): Promise<GitVersion> {
|
||||||
|
return this.gitVersion
|
||||||
|
}
|
||||||
|
|
||||||
static async createCommandManager(
|
static async createCommandManager(
|
||||||
workingDirectory: string,
|
workingDirectory: string,
|
||||||
lfs: boolean,
|
lfs: boolean,
|
||||||
|
@ -556,23 +564,23 @@ class GitCommandManager {
|
||||||
|
|
||||||
// Git version
|
// Git version
|
||||||
core.debug('Getting git version')
|
core.debug('Getting git version')
|
||||||
let gitVersion = new GitVersion()
|
this.gitVersion = new GitVersion()
|
||||||
let gitOutput = await this.execGit(['version'])
|
let gitOutput = await this.execGit(['version'])
|
||||||
let stdout = gitOutput.stdout.trim()
|
let stdout = gitOutput.stdout.trim()
|
||||||
if (!stdout.includes('\n')) {
|
if (!stdout.includes('\n')) {
|
||||||
const match = stdout.match(/\d+\.\d+(\.\d+)?/)
|
const match = stdout.match(/\d+\.\d+(\.\d+)?/)
|
||||||
if (match) {
|
if (match) {
|
||||||
gitVersion = new GitVersion(match[0])
|
this.gitVersion = new GitVersion(match[0])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!gitVersion.isValid()) {
|
if (!this.gitVersion.isValid()) {
|
||||||
throw new Error('Unable to determine git version')
|
throw new Error('Unable to determine git version')
|
||||||
}
|
}
|
||||||
|
|
||||||
// Minimum git version
|
// Minimum git version
|
||||||
if (!gitVersion.checkMinimum(MinimumGitVersion)) {
|
if (!this.gitVersion.checkMinimum(MinimumGitVersion)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Minimum required git version is ${MinimumGitVersion}. Your git ('${this.gitPath}') is ${gitVersion}`
|
`Minimum required git version is ${MinimumGitVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -606,16 +614,14 @@ class GitCommandManager {
|
||||||
|
|
||||||
this.doSparseCheckout = doSparseCheckout
|
this.doSparseCheckout = doSparseCheckout
|
||||||
if (this.doSparseCheckout) {
|
if (this.doSparseCheckout) {
|
||||||
// The `git sparse-checkout` command was introduced in Git v2.25.0
|
if (!this.gitVersion.checkMinimum(MinimumGitSparseCheckoutVersion)) {
|
||||||
const minimumGitSparseCheckoutVersion = new GitVersion('2.25')
|
|
||||||
if (!gitVersion.checkMinimum(minimumGitSparseCheckoutVersion)) {
|
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Minimum Git version required for sparse checkout is ${minimumGitSparseCheckoutVersion}. Your git ('${this.gitPath}') is ${gitVersion}`
|
`Minimum Git version required for sparse checkout is ${MinimumGitSparseCheckoutVersion}. Your git ('${this.gitPath}') is ${this.gitVersion}`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Set the user agent
|
// Set the user agent
|
||||||
const gitHttpUserAgent = `git/${gitVersion} (github-actions-checkout)`
|
const gitHttpUserAgent = `git/${this.gitVersion} (github-actions-checkout)`
|
||||||
core.debug(`Set git useragent to: ${gitHttpUserAgent}`)
|
core.debug(`Set git useragent to: ${gitHttpUserAgent}`)
|
||||||
this.gitEnv['GIT_HTTP_USER_AGENT'] = gitHttpUserAgent
|
this.gitEnv['GIT_HTTP_USER_AGENT'] = gitHttpUserAgent
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,10 @@ import * as path from 'path'
|
||||||
import * as refHelper from './ref-helper'
|
import * as refHelper from './ref-helper'
|
||||||
import * as stateHelper from './state-helper'
|
import * as stateHelper from './state-helper'
|
||||||
import * as urlHelper from './url-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'
|
import {IGitSourceSettings} from './git-source-settings'
|
||||||
|
|
||||||
export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
||||||
|
@ -209,7 +212,11 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
||||||
|
|
||||||
// Sparse checkout
|
// Sparse checkout
|
||||||
if (!settings.sparseCheckout) {
|
if (!settings.sparseCheckout) {
|
||||||
|
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()
|
await git.disableSparseCheckout()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
core.startGroup('Setting up sparse checkout')
|
core.startGroup('Setting up sparse checkout')
|
||||||
if (settings.sparseCheckoutConeMode) {
|
if (settings.sparseCheckoutConeMode) {
|
||||||
|
|
Loading…
Reference in a new issue