mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 10:08:37 +08:00 
			
		
		
		
	Adding fetch tags even when fetch depth is greater than 0
This commit is contained in:
		
							parent
							
								
									f095bcc56b
								
							
						
					
					
						commit
						a1ab6b9f77
					
				|  | @ -77,7 +77,11 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl | |||
|     # Number of commits to fetch. 0 indicates all history for all branches and tags. | ||||
|     # Default: 1 | ||||
|     fetch-depth: '' | ||||
| 
 | ||||
|      | ||||
|     # Whether to fetch tags, even if fetch-depth > 0. | ||||
|     # Default: false | ||||
|     fetch-tags: '' | ||||
|      | ||||
|     # Whether to download Git-LFS files | ||||
|     # Default: false | ||||
|     lfs: '' | ||||
|  |  | |||
|  | @ -801,6 +801,7 @@ async function setup(testName: string): Promise<void> { | |||
|     clean: true, | ||||
|     commit: '', | ||||
|     fetchDepth: 1, | ||||
|     fetchTags: false, | ||||
|     lfs: false, | ||||
|     submodules: false, | ||||
|     nestedSubmodules: false, | ||||
|  |  | |||
|  | @ -80,6 +80,7 @@ describe('input-helper tests', () => { | |||
|     expect(settings.commit).toBeTruthy() | ||||
|     expect(settings.commit).toBe('1234567890123456789012345678901234567890') | ||||
|     expect(settings.fetchDepth).toBe(1) | ||||
|     expect(settings.fetchTags).toBe(false) | ||||
|     expect(settings.lfs).toBe(false) | ||||
|     expect(settings.ref).toBe('refs/heads/some-ref') | ||||
|     expect(settings.repositoryName).toBe('some-repo') | ||||
|  |  | |||
|  | @ -56,6 +56,9 @@ inputs: | |||
|   fetch-depth: | ||||
|     description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.' | ||||
|     default: 1 | ||||
|   fetch-tags: | ||||
|     description: 'Whether to fetch tags, even if fetch-depth > 0.' | ||||
|     default: false | ||||
|   lfs: | ||||
|     description: 'Whether to download Git-LFS files' | ||||
|     default: false | ||||
|  |  | |||
							
								
								
									
										2604
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2604
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -25,7 +25,7 @@ export interface IGitCommandManager { | |||
|     add?: boolean | ||||
|   ): Promise<void> | ||||
|   configExists(configKey: string, globalConfig?: boolean): Promise<boolean> | ||||
|   fetch(refSpec: string[], fetchDepth?: number): Promise<void> | ||||
|   fetch(refSpec: string[], fetchDepth?: number, fetchTags?: boolean): Promise<void> | ||||
|   getDefaultBranch(repositoryUrl: string): Promise<string> | ||||
|   getWorkingDirectory(): string | ||||
|   init(): Promise<void> | ||||
|  | @ -202,9 +202,9 @@ class GitCommandManager { | |||
|     return output.exitCode === 0 | ||||
|   } | ||||
| 
 | ||||
|   async fetch(refSpec: string[], fetchDepth?: number): Promise<void> { | ||||
|   async fetch(refSpec: string[], fetchDepth?: number, fetchTags?: boolean): Promise<void> { | ||||
|     const args = ['-c', 'protocol.version=2', 'fetch'] | ||||
|     if (!refSpec.some(x => x === refHelper.tagsRefSpec)) { | ||||
|     if (!refSpec.some(x => x === refHelper.tagsRefSpec) && !fetchTags) { | ||||
|       args.push('--no-tags') | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -169,7 +169,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { | |||
|       } | ||||
|     } else { | ||||
|       const refSpec = refHelper.getRefSpec(settings.ref, settings.commit) | ||||
|       await git.fetch(refSpec, settings.fetchDepth) | ||||
|       await git.fetch(refSpec, settings.fetchDepth, settings.fetchTags) | ||||
|     } | ||||
|     core.endGroup() | ||||
| 
 | ||||
|  |  | |||
|  | @ -34,6 +34,11 @@ export interface IGitSourceSettings { | |||
|    */ | ||||
|   fetchDepth: number | ||||
| 
 | ||||
|   /** | ||||
|    * Fetch tags, even if fetchDepth > 0 (default: false) | ||||
|    */ | ||||
|   fetchTags: boolean | ||||
| 
 | ||||
|   /** | ||||
|    * Indicates whether to fetch LFS objects | ||||
|    */ | ||||
|  |  | |||
|  | @ -89,6 +89,11 @@ export async function getInputs(): Promise<IGitSourceSettings> { | |||
|   } | ||||
|   core.debug(`fetch depth = ${result.fetchDepth}`) | ||||
| 
 | ||||
|   // Fetch tags
 | ||||
|   result.fetchTags = | ||||
|     (core.getInput('fetch-tags') || 'false').toUpperCase() === 'TRUE' | ||||
|   core.debug(`fetch tags = ${result.fetchTags}`) | ||||
| 
 | ||||
|   // LFS
 | ||||
|   result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE' | ||||
|   core.debug(`lfs = ${result.lfs}`) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Dhruvil Thakkar
						Dhruvil Thakkar