mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 16:13:36 +00:00 
			
		
		
		
	Merge 2449f8bb0b413043c90992f820627688ccd1115f into ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
This commit is contained in:
		
						commit
						957fb011a5
					
				| @ -121,6 +121,9 @@ Please refer to the [release page](https://github.com/actions/checkout/releases/ | |||||||
|     # Default: 1 |     # Default: 1 | ||||||
|     fetch-depth: '' |     fetch-depth: '' | ||||||
| 
 | 
 | ||||||
|  |     # Date like `2days` or `1970-01-01`. Fetch a history after the specified time. | ||||||
|  |     shallow-since: '' | ||||||
|  | 
 | ||||||
|     # Whether to fetch tags, even if fetch-depth > 0. |     # Whether to fetch tags, even if fetch-depth > 0. | ||||||
|     # Default: false |     # Default: false | ||||||
|     fetch-tags: '' |     fetch-tags: '' | ||||||
|  | |||||||
| @ -808,6 +808,7 @@ async function setup(testName: string): Promise<void> { | |||||||
|     sparseCheckout: [], |     sparseCheckout: [], | ||||||
|     sparseCheckoutConeMode: true, |     sparseCheckoutConeMode: true, | ||||||
|     fetchDepth: 1, |     fetchDepth: 1, | ||||||
|  |     shallowSince: '', | ||||||
|     fetchTags: false, |     fetchTags: false, | ||||||
|     showProgress: true, |     showProgress: true, | ||||||
|     lfs: false, |     lfs: false, | ||||||
|  | |||||||
| @ -74,6 +74,8 @@ inputs: | |||||||
|   fetch-depth: |   fetch-depth: | ||||||
|     description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.' |     description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.' | ||||||
|     default: 1 |     default: 1 | ||||||
|  |   shallow-since: | ||||||
|  |     description: 'Date like `2days` or `1970-01-01`. Fetch a history after the specified time.' | ||||||
|   fetch-tags: |   fetch-tags: | ||||||
|     description: 'Whether to fetch tags, even if fetch-depth > 0.' |     description: 'Whether to fetch tags, even if fetch-depth > 0.' | ||||||
|     default: false |     default: false | ||||||
|  | |||||||
| @ -72,6 +72,8 @@ We want to take this opportunity to make behavioral changes, from v1. This docum | |||||||
|   fetch-depth: |   fetch-depth: | ||||||
|     description: 'Number of commits to fetch. 0 indicates all history for all tags and branches.' |     description: 'Number of commits to fetch. 0 indicates all history for all tags and branches.' | ||||||
|     default: 1 |     default: 1 | ||||||
|  |   shallow-since: | ||||||
|  |     description: 'Date like `2days` or `1970-01-01`. Fetch a history after the specified time.' | ||||||
|   lfs: |   lfs: | ||||||
|     description: 'Whether to download Git-LFS files' |     description: 'Whether to download Git-LFS files' | ||||||
|     default: false |     default: false | ||||||
| @ -155,7 +157,7 @@ Fetch only the SHA being built and set depth=1. This significantly reduces the f | |||||||
| 
 | 
 | ||||||
| If a SHA isn't available (e.g. multi repo), then fetch only the specified ref with depth=1. | If a SHA isn't available (e.g. multi repo), then fetch only the specified ref with depth=1. | ||||||
| 
 | 
 | ||||||
| The input `fetch-depth` can be used to control the depth. | The input `fetch-depth` and `shallow-since` can be used to control the depth. | ||||||
| 
 | 
 | ||||||
| Note: | Note: | ||||||
| - Fetching a single commit is supported by Git wire protocol version 2. The git client uses protocol version 0 by default. The desired protocol version can be overridden in the git config or on the fetch command line invocation (`-c protocol.version=2`). We will override on the fetch command line, for transparency. | - Fetching a single commit is supported by Git wire protocol version 2. The git client uses protocol version 0 by default. The desired protocol version can be overridden in the git config or on the fetch command line invocation (`-c protocol.version=2`). We will override on the fetch command line, for transparency. | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @ -663,6 +663,9 @@ class GitCommandManager { | |||||||
|             if (options.filter) { |             if (options.filter) { | ||||||
|                 args.push(`--filter=${options.filter}`); |                 args.push(`--filter=${options.filter}`); | ||||||
|             } |             } | ||||||
|  |             if (options.shallowSince) { | ||||||
|  |                 args.push(`--shallow-since=${options.shallowSince}`); | ||||||
|  |             } | ||||||
|             if (options.fetchDepth && options.fetchDepth > 0) { |             if (options.fetchDepth && options.fetchDepth > 0) { | ||||||
|                 args.push(`--depth=${options.fetchDepth}`); |                 args.push(`--depth=${options.fetchDepth}`); | ||||||
|             } |             } | ||||||
| @ -793,13 +796,16 @@ class GitCommandManager { | |||||||
|             yield this.execGit(args); |             yield this.execGit(args); | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|     submoduleUpdate(fetchDepth, recursive) { |     submoduleUpdate(fetchDepth, recursive, shallowSince) { | ||||||
|         return __awaiter(this, void 0, void 0, function* () { |         return __awaiter(this, void 0, void 0, function* () { | ||||||
|             const args = ['-c', 'protocol.version=2']; |             const args = ['-c', 'protocol.version=2']; | ||||||
|             args.push('submodule', 'update', '--init', '--force'); |             args.push('submodule', 'update', '--init', '--force'); | ||||||
|             if (fetchDepth > 0) { |             if (fetchDepth > 0) { | ||||||
|                 args.push(`--depth=${fetchDepth}`); |                 args.push(`--depth=${fetchDepth}`); | ||||||
|             } |             } | ||||||
|  |             if (shallowSince) { | ||||||
|  |                 args.push(`--shallow-since=${shallowSince}`); | ||||||
|  |             } | ||||||
|             if (recursive) { |             if (recursive) { | ||||||
|                 args.push('--recursive'); |                 args.push('--recursive'); | ||||||
|             } |             } | ||||||
| @ -1787,6 +1793,12 @@ function getInputs() { | |||||||
|             result.fetchDepth = 0; |             result.fetchDepth = 0; | ||||||
|         } |         } | ||||||
|         core.debug(`fetch depth = ${result.fetchDepth}`); |         core.debug(`fetch depth = ${result.fetchDepth}`); | ||||||
|  |         // Shallow since
 | ||||||
|  |         if (core.getInput('fetch-depth') && core.getInput('shallow-since')) { | ||||||
|  |             throw new Error('`fetch-depth` and `shallow-since` cannot be used at the same time'); | ||||||
|  |         } | ||||||
|  |         result.shallowSince = core.getInput('shallow-since'); | ||||||
|  |         core.debug(`shallow since = ${result.shallowSince}`); | ||||||
|         // Fetch tags
 |         // Fetch tags
 | ||||||
|         result.fetchTags = |         result.fetchTags = | ||||||
|             (core.getInput('fetch-tags') || 'false').toUpperCase() === 'TRUE'; |             (core.getInput('fetch-tags') || 'false').toUpperCase() === 'TRUE'; | ||||||
|  | |||||||
| @ -36,6 +36,7 @@ export interface IGitCommandManager { | |||||||
|     options: { |     options: { | ||||||
|       filter?: string |       filter?: string | ||||||
|       fetchDepth?: number |       fetchDepth?: number | ||||||
|  |       shallowSince?: string | ||||||
|       fetchTags?: boolean |       fetchTags?: boolean | ||||||
|       showProgress?: boolean |       showProgress?: boolean | ||||||
|     } |     } | ||||||
| @ -54,8 +55,12 @@ export interface IGitCommandManager { | |||||||
|   shaExists(sha: string): Promise<boolean> |   shaExists(sha: string): Promise<boolean> | ||||||
|   submoduleForeach(command: string, recursive: boolean): Promise<string> |   submoduleForeach(command: string, recursive: boolean): Promise<string> | ||||||
|   submoduleSync(recursive: boolean): Promise<void> |   submoduleSync(recursive: boolean): Promise<void> | ||||||
|   submoduleUpdate(fetchDepth: number, recursive: boolean): Promise<void> |  | ||||||
|   submoduleStatus(): Promise<boolean> |   submoduleStatus(): Promise<boolean> | ||||||
|  |   submoduleUpdate( | ||||||
|  |     fetchDepth: number, | ||||||
|  |     recursive: boolean, | ||||||
|  |     shallowSince?: string | ||||||
|  |   ): Promise<void> | ||||||
|   tagExists(pattern: string): Promise<boolean> |   tagExists(pattern: string): Promise<boolean> | ||||||
|   tryClean(): Promise<boolean> |   tryClean(): Promise<boolean> | ||||||
|   tryConfigUnset(configKey: string, globalConfig?: boolean): Promise<boolean> |   tryConfigUnset(configKey: string, globalConfig?: boolean): Promise<boolean> | ||||||
| @ -256,6 +261,7 @@ class GitCommandManager { | |||||||
|     options: { |     options: { | ||||||
|       filter?: string |       filter?: string | ||||||
|       fetchDepth?: number |       fetchDepth?: number | ||||||
|  |       shallowSince?: string | ||||||
|       fetchTags?: boolean |       fetchTags?: boolean | ||||||
|       showProgress?: boolean |       showProgress?: boolean | ||||||
|     } |     } | ||||||
| @ -274,6 +280,10 @@ class GitCommandManager { | |||||||
|       args.push(`--filter=${options.filter}`) |       args.push(`--filter=${options.filter}`) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     if (options.shallowSince) { | ||||||
|  |       args.push(`--shallow-since=${options.shallowSince}`) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     if (options.fetchDepth && options.fetchDepth > 0) { |     if (options.fetchDepth && options.fetchDepth > 0) { | ||||||
|       args.push(`--depth=${options.fetchDepth}`) |       args.push(`--depth=${options.fetchDepth}`) | ||||||
|     } else if ( |     } else if ( | ||||||
| @ -409,13 +419,21 @@ class GitCommandManager { | |||||||
|     await this.execGit(args) |     await this.execGit(args) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   async submoduleUpdate(fetchDepth: number, recursive: boolean): Promise<void> { |   async submoduleUpdate( | ||||||
|  |     fetchDepth: number, | ||||||
|  |     recursive: boolean, | ||||||
|  |     shallowSince?: string | ||||||
|  |   ): Promise<void> { | ||||||
|     const args = ['-c', 'protocol.version=2'] |     const args = ['-c', 'protocol.version=2'] | ||||||
|     args.push('submodule', 'update', '--init', '--force') |     args.push('submodule', 'update', '--init', '--force') | ||||||
|     if (fetchDepth > 0) { |     if (fetchDepth > 0) { | ||||||
|       args.push(`--depth=${fetchDepth}`) |       args.push(`--depth=${fetchDepth}`) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     if (shallowSince) { | ||||||
|  |       args.push(`--shallow-since=${shallowSince}`) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     if (recursive) { |     if (recursive) { | ||||||
|       args.push('--recursive') |       args.push('--recursive') | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -50,7 +50,12 @@ export interface IGitSourceSettings { | |||||||
|   fetchDepth: number |   fetchDepth: number | ||||||
| 
 | 
 | ||||||
|   /** |   /** | ||||||
|    * Fetch tags, even if fetchDepth > 0 (default: false) |    * Deepen or shorten the history of a shallow repository to include all reachable commits after | ||||||
|  |    */ | ||||||
|  |   shallowSince: string | ||||||
|  | 
 | ||||||
|  |   /** | ||||||
|  |    *  Fetch tags, even if fetchDepth > 0 (default: false) | ||||||
|    */ |    */ | ||||||
|   fetchTags: boolean |   fetchTags: boolean | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -108,6 +108,15 @@ export async function getInputs(): Promise<IGitSourceSettings> { | |||||||
|   } |   } | ||||||
|   core.debug(`fetch depth = ${result.fetchDepth}`) |   core.debug(`fetch depth = ${result.fetchDepth}`) | ||||||
| 
 | 
 | ||||||
|  |   // Shallow since
 | ||||||
|  |   if (core.getInput('fetch-depth') && core.getInput('shallow-since')) { | ||||||
|  |     throw new Error( | ||||||
|  |       '`fetch-depth` and `shallow-since` cannot be used at the same time' | ||||||
|  |     ) | ||||||
|  |   } | ||||||
|  |   result.shallowSince = core.getInput('shallow-since') | ||||||
|  |   core.debug(`shallow since = ${result.shallowSince}`) | ||||||
|  | 
 | ||||||
|   // Fetch tags
 |   // Fetch tags
 | ||||||
|   result.fetchTags = |   result.fetchTags = | ||||||
|     (core.getInput('fetch-tags') || 'false').toUpperCase() === 'TRUE' |     (core.getInput('fetch-tags') || 'false').toUpperCase() === 'TRUE' | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user