mirror of
				https://gitea.com/actions/checkout.git
				synced 2025-11-02 07:47:04 +00:00 
			
		
		
		
	.
This commit is contained in:
		@@ -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')
 | 
			
		||||
      
 | 
			
		||||
      // Calculate the relative path of the working directory from GITHUB_WORKSPACE
 | 
			
		||||
      const workingDirectory = this.git.getWorkingDirectory()
 | 
			
		||||
      let relativePath = path.relative(githubWorkspace, workingDirectory)
 | 
			
		||||
 | 
			
		||||
        // 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)
 | 
			
		||||
        )
 | 
			
		||||
      // 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)
 | 
			
		||||
      }
 | 
			
		||||
      const containerIncludeKey = `includeIf.gitdir:${containerGitDir}.path`
 | 
			
		||||
      await this.git.config(containerIncludeKey, containerCredentialsPath)
 | 
			
		||||
      this.credentialsIncludeKeys.push(containerIncludeKey)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user