mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 18:18:37 +08:00 
			
		
		
		
	Added separate parameter for submodules fetch depth
This commit is contained in:
		
							parent
							
								
									5a4ac9002d
								
							
						
					
					
						commit
						25e07a18d3
					
				|  | @ -763,6 +763,7 @@ async function setup(testName: string): Promise<void> { | ||||||
|     lfs: false, |     lfs: false, | ||||||
|     submodules: false, |     submodules: false, | ||||||
|     nestedSubmodules: false, |     nestedSubmodules: false, | ||||||
|  |     submodulesFetchDepth: 1, | ||||||
|     persistCredentials: true, |     persistCredentials: true, | ||||||
|     ref: 'refs/heads/main', |     ref: 'refs/heads/main', | ||||||
|     repositoryName: 'my-repo', |     repositoryName: 'my-repo', | ||||||
|  |  | ||||||
|  | @ -75,6 +75,7 @@ describe('input-helper tests', () => { | ||||||
|     expect(settings.commit).toBeTruthy() |     expect(settings.commit).toBeTruthy() | ||||||
|     expect(settings.commit).toBe('1234567890123456789012345678901234567890') |     expect(settings.commit).toBe('1234567890123456789012345678901234567890') | ||||||
|     expect(settings.fetchDepth).toBe(1) |     expect(settings.fetchDepth).toBe(1) | ||||||
|  |     expect(settings.submodulesFetchDepth).toBe(1) | ||||||
|     expect(settings.lfs).toBe(false) |     expect(settings.lfs).toBe(false) | ||||||
|     expect(settings.ref).toBe('refs/heads/some-ref') |     expect(settings.ref).toBe('refs/heads/some-ref') | ||||||
|     expect(settings.repositoryName).toBe('some-repo') |     expect(settings.repositoryName).toBe('some-repo') | ||||||
|  | @ -123,4 +124,18 @@ describe('input-helper tests', () => { | ||||||
|     expect(settings.ref).toBe('refs/heads/some-other-ref') |     expect(settings.ref).toBe('refs/heads/some-other-ref') | ||||||
|     expect(settings.commit).toBeFalsy() |     expect(settings.commit).toBeFalsy() | ||||||
|   }) |   }) | ||||||
|  | 
 | ||||||
|  |   it('sets submodulesFetchDepth independently from fetchDepth', () => { | ||||||
|  |     inputs['fetch-depth'] = '10' | ||||||
|  |     inputs['submodules-fetch-depth'] = '20' | ||||||
|  | 
 | ||||||
|  |     const settings: IGitSourceSettings = inputHelper.getInputs() | ||||||
|  |     expect(settings.submodulesFetchDepth).toBe(20) | ||||||
|  |   }) | ||||||
|  | 
 | ||||||
|  |   it('sets submodulesFetchDepth equal to fetchDepth by default', () => { | ||||||
|  |     inputs['fetch-depth'] = '10' | ||||||
|  |     const settings: IGitSourceSettings = inputHelper.getInputs() | ||||||
|  |     expect(settings.submodulesFetchDepth).toBe(10) | ||||||
|  |   }) | ||||||
| }) | }) | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							|  | @ -6255,7 +6255,7 @@ function getSource(settings) { | ||||||
|                     // Checkout submodules
 |                     // Checkout submodules
 | ||||||
|                     core.startGroup('Fetching submodules'); |                     core.startGroup('Fetching submodules'); | ||||||
|                     yield git.submoduleSync(settings.nestedSubmodules); |                     yield git.submoduleSync(settings.nestedSubmodules); | ||||||
|                     yield git.submoduleUpdate(settings.fetchDepth, settings.nestedSubmodules); |                     yield git.submoduleUpdate(settings.submodulesFetchDepth, settings.nestedSubmodules); | ||||||
|                     yield git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules); |                     yield git.submoduleForeach('git config --local gc.auto 0', settings.nestedSubmodules); | ||||||
|                     core.endGroup(); |                     core.endGroup(); | ||||||
|                     // Persist credentials
 |                     // Persist credentials
 | ||||||
|  | @ -14572,6 +14572,12 @@ function getInputs() { | ||||||
|         result.fetchDepth = 0; |         result.fetchDepth = 0; | ||||||
|     } |     } | ||||||
|     core.debug(`fetch depth = ${result.fetchDepth}`); |     core.debug(`fetch depth = ${result.fetchDepth}`); | ||||||
|  |     // Submodules fetch depth
 | ||||||
|  |     result.submodulesFetchDepth = Math.floor(Number(core.getInput('submodules-fetch-depth') || '-1')); | ||||||
|  |     if (isNaN(result.submodulesFetchDepth) || result.submodulesFetchDepth < 0) { | ||||||
|  |         result.submodulesFetchDepth = result.fetchDepth; | ||||||
|  |     } | ||||||
|  |     core.debug(`submodules fetch depth = ${result.submodulesFetchDepth}`); | ||||||
|     // LFS
 |     // LFS
 | ||||||
|     result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE'; |     result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE'; | ||||||
|     core.debug(`lfs = ${result.lfs}`); |     core.debug(`lfs = ${result.lfs}`); | ||||||
|  |  | ||||||
|  | @ -180,7 +180,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | ||||||
|         core.startGroup('Fetching submodules') |         core.startGroup('Fetching submodules') | ||||||
|         await git.submoduleSync(settings.nestedSubmodules) |         await git.submoduleSync(settings.nestedSubmodules) | ||||||
|         await git.submoduleUpdate( |         await git.submoduleUpdate( | ||||||
|           settings.fetchDepth, |           settings.submodulesFetchDepth, | ||||||
|           settings.nestedSubmodules |           settings.nestedSubmodules | ||||||
|         ) |         ) | ||||||
|         await git.submoduleForeach( |         await git.submoduleForeach( | ||||||
|  |  | ||||||
|  | @ -49,6 +49,11 @@ export interface IGitSourceSettings { | ||||||
|    */ |    */ | ||||||
|   nestedSubmodules: boolean |   nestedSubmodules: boolean | ||||||
| 
 | 
 | ||||||
|  |   /** | ||||||
|  |    * The fetch depth for submodules | ||||||
|  |    */ | ||||||
|  |   submodulesFetchDepth: number | ||||||
|  | 
 | ||||||
|   /** |   /** | ||||||
|    * The auth token to use when fetching the repository |    * The auth token to use when fetching the repository | ||||||
|    */ |    */ | ||||||
|  |  | ||||||
|  | @ -88,6 +88,15 @@ export function getInputs(): IGitSourceSettings { | ||||||
|   } |   } | ||||||
|   core.debug(`fetch depth = ${result.fetchDepth}`) |   core.debug(`fetch depth = ${result.fetchDepth}`) | ||||||
| 
 | 
 | ||||||
|  |   // Submodules fetch depth
 | ||||||
|  |   result.submodulesFetchDepth = Math.floor( | ||||||
|  |     Number(core.getInput('submodules-fetch-depth') || '-1') | ||||||
|  |   ) | ||||||
|  |   if (isNaN(result.submodulesFetchDepth) || result.submodulesFetchDepth < 0) { | ||||||
|  |     result.submodulesFetchDepth = result.fetchDepth | ||||||
|  |   } | ||||||
|  |   core.debug(`submodules fetch depth = ${result.submodulesFetchDepth}`) | ||||||
|  | 
 | ||||||
|   // LFS
 |   // LFS
 | ||||||
|   result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE' |   result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE' | ||||||
|   core.debug(`lfs = ${result.lfs}`) |   core.debug(`lfs = ${result.lfs}`) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 vvish
						vvish