Fix submodule git directory paths for includeIf

This commit is contained in:
eric sciple
2025-10-14 23:56:34 +00:00
parent 0f2eb6b146
commit 96c6589494
2 changed files with 15 additions and 21 deletions

View File

@ -205,14 +205,13 @@ class GitAuthHelper {
// For each submodule, configure includeIf entries pointing to the shared credentials file.
// Configure both host and container paths to support Docker container actions.
for (const configPath of configPaths) {
// Submodule path
const submodulePath = path.dirname(path.dirname(configPath))
// The config file is at .git/modules/submodule-name/config
let submoduleConfigDir = path.dirname(configPath)
submoduleConfigDir = submoduleConfigDir.replace(/\\/g, '/') // Use forward slashes, even on Windows
// Configure host includeIf
let submoduleGitDir = path.join(submodulePath, '.git')
submoduleGitDir = submoduleGitDir.replace(/\\/g, '/') // Use forward slashes, even on Windows
await this.git.config(
`includeIf.gitdir:${submoduleGitDir}.path`,
`includeIf.gitdir:${submoduleConfigDir}.path`,
credentialsConfigPath,
false,
false,
@ -220,15 +219,11 @@ class GitAuthHelper {
)
// Configure container includeIf
let submoduleRelativePath = path.relative(
workingDirectory,
submodulePath
)
submoduleRelativePath = submoduleRelativePath.replace(/\\/g, '/') // Use forward slashes, even on Windows
let relativeSubmoduleConfigDir = path.relative(githubWorkspace, submoduleConfigDir)
relativeSubmoduleConfigDir = relativeSubmoduleConfigDir.replace(/\\/g, '/') // Use forward slashes, even on Windows
const containerSubmoduleGitDir = path.posix.join(
containerRepoPath,
submoduleRelativePath,
'.git'
'/github/workspace',
relativeSubmoduleConfigDir
)
await this.git.config(
`includeIf.gitdir:${containerSubmoduleGitDir}.path`,