mirror of
				https://github.com/actions/checkout.git
				synced 2025-10-31 02:14:20 +08:00 
			
		
		
		
	.
This commit is contained in:
		
							parent
							
								
									bcc5319a0b
								
							
						
					
					
						commit
						d9b320ec70
					
				| @ -318,33 +318,37 @@ class GitAuthHelper { | ||||
|     } else { | ||||
|       // For local config, use includeIf.gitdir to match the .git directory.
 | ||||
|       // Configure for both host and container paths to support Docker container actions.
 | ||||
|       const gitDir = path.join(this.git.getWorkingDirectory(), '.git') | ||||
|       let gitDir = path.join(this.git.getWorkingDirectory(), '.git') | ||||
|       // Use forward slashes for git config, even on Windows
 | ||||
|       gitDir = gitDir.replace(/\\/g, '/') | ||||
|       const hostIncludeKey = `includeIf.gitdir:${gitDir}.path` | ||||
|       await this.git.config(hostIncludeKey, credentialsConfigPath) | ||||
|       this.credentialsIncludeKeys.push(hostIncludeKey) | ||||
| 
 | ||||
|       // Configure for container scenario where paths are mapped to fixed locations
 | ||||
|       const githubWorkspace = process.env['GITHUB_WORKSPACE'] | ||||
|       if (githubWorkspace) { | ||||
|         // Calculate the relative path of the working directory from GITHUB_WORKSPACE
 | ||||
|         const workingDirectory = this.git.getWorkingDirectory() | ||||
|         const relativePath = path.relative(githubWorkspace, workingDirectory) | ||||
|       assert.ok(githubWorkspace, 'GITHUB_WORKSPACE is not defined') | ||||
|        | ||||
|         // Container paths: GITHUB_WORKSPACE -> /github/workspace, RUNNER_TEMP -> /github/runner_temp
 | ||||
|         const containerGitDir = path.posix.join( | ||||
|           '/github/workspace', | ||||
|           relativePath, | ||||
|           '.git' | ||||
|         ) | ||||
|         const containerCredentialsPath = path.posix.join( | ||||
|           '/github/runner_temp', | ||||
|           path.basename(credentialsConfigPath) | ||||
|         ) | ||||
|       // Calculate the relative path of the working directory from GITHUB_WORKSPACE
 | ||||
|       const workingDirectory = this.git.getWorkingDirectory() | ||||
|       let relativePath = path.relative(githubWorkspace, workingDirectory) | ||||
| 
 | ||||
|         const containerIncludeKey = `includeIf.gitdir:${containerGitDir}.path` | ||||
|         await this.git.config(containerIncludeKey, containerCredentialsPath) | ||||
|         this.credentialsIncludeKeys.push(containerIncludeKey) | ||||
|       } | ||||
|       // Container paths: GITHUB_WORKSPACE -> /github/workspace, RUNNER_TEMP -> /github/runner_temp
 | ||||
|       // Use forward slashes for git config
 | ||||
|       relativePath = relativePath.replace(/\\/g, '/') | ||||
|       const containerGitDir = path.posix.join( | ||||
|         '/github/workspace', | ||||
|         relativePath, | ||||
|         '.git' | ||||
|       ) | ||||
|       const containerCredentialsPath = path.posix.join( | ||||
|         '/github/runner_temp', | ||||
|         path.basename(credentialsConfigPath) | ||||
|       ) | ||||
| 
 | ||||
|       const containerIncludeKey = `includeIf.gitdir:${containerGitDir}.path` | ||||
|       await this.git.config(containerIncludeKey, containerCredentialsPath) | ||||
|       this.credentialsIncludeKeys.push(containerIncludeKey) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 eric sciple
						eric sciple