mirror of
				https://github.com/actions/checkout.git
				synced 2025-11-04 11:35:09 +08: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:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							8410ad0602
						
					
				
				
					commit
					cd7d8d697e
				
			@@ -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 = {
 | 
			
		||||
 
 | 
			
		||||
@@ -501,6 +501,7 @@ async function setup(testName: string): Promise<void> {
 | 
			
		||||
    }),
 | 
			
		||||
    tryReset: jest.fn(async () => {
 | 
			
		||||
      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', () => {
 | 
			
		||||
  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.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()
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user