Check git version before attempting to disable sparse-checkout`

This commit is contained in:
John Wesley Walker III 2024-03-12 15:22:04 +00:00
parent 8410ad0602
commit 5fd05b69b4
6 changed files with 76 additions and 27 deletions

View file

@ -796,7 +796,8 @@ async function setup(testName: string): Promise<void> {
),
tryDisableAutomaticGarbageCollection: jest.fn(),
tryGetFetchUrl: jest.fn(),
tryReset: jest.fn()
tryReset: jest.fn(),
version: jest.fn()
}
settings = {

View file

@ -501,6 +501,7 @@ async function setup(testName: string): Promise<void> {
}),
tryReset: jest.fn(async () => {
return true
})
}),
version: jest.fn()
}
}

View file

@ -1,4 +1,6 @@
import {GitVersion} from '../lib/git-version'
import { GitVersion } from '../src/git-version'
import {MinimumGitSparseCheckoutVersion} from '../src/git-command-manager'
describe('git-version tests', () => {
it('basics', async () => {
@ -42,4 +44,28 @@ describe('git-version tests', () => {
expect(version.checkMinimum(new GitVersion('5.1'))).toBeFalsy()
expect(version.checkMinimum(new GitVersion('5.1.2'))).toBeFalsy()
})
it('sparse checkout', async () => {
expect(new GitVersion('1.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeFalsy()
expect(new GitVersion('1.99').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeFalsy()
expect(new GitVersion('2.24').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeFalsy()
expect(new GitVersion('2.24.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeFalsy()
expect(new GitVersion('2.24.1').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeFalsy()
expect(new GitVersion('2.24.9').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeFalsy()
expect(new GitVersion('2.25').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.25.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.25.1').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.25.9').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.26').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.26.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.26.1').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.26.9').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('2.99').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('3.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('3.99').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('4.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('4.99').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('5.0').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
expect(new GitVersion('5.99').checkMinimum(MinimumGitSparseCheckoutVersion)).toBeTruthy()
})
})