|
|
@ -7121,7 +7121,9 @@ class GitAuthHelper {
|
|
|
|
// Configure a placeholder value. This approach avoids the credential being captured
|
|
|
|
// Configure a placeholder value. This approach avoids the credential being captured
|
|
|
|
// by process creation audit events, which are commonly logged. For more information,
|
|
|
|
// by process creation audit events, which are commonly logged. For more information,
|
|
|
|
// refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
|
|
|
|
// refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
|
|
|
|
const output = yield this.git.submoduleForeach(`git config --local '${this.tokenConfigKey}' '${this.tokenPlaceholderConfigValue}' && git config --local --show-origin --name-only --get-regexp remote.origin.url`, this.settings.nestedSubmodules);
|
|
|
|
const output = yield this.git.submoduleForeach(
|
|
|
|
|
|
|
|
// wrap the pipeline in quotes to make sure it's handled properly by submoduleForeach, rather than just the first part of the pipeline
|
|
|
|
|
|
|
|
`"git config --local '${this.tokenConfigKey}' '${this.tokenPlaceholderConfigValue}' && git config --local --show-origin --name-only --get-regexp remote.origin.url"`, this.settings.nestedSubmodules);
|
|
|
|
// Replace the placeholder
|
|
|
|
// Replace the placeholder
|
|
|
|
const configPaths = output.match(/(?<=(^|\n)file:)[^\t]+(?=\tremote\.origin\.url)/g) || [];
|
|
|
|
const configPaths = output.match(/(?<=(^|\n)file:)[^\t]+(?=\tremote\.origin\.url)/g) || [];
|
|
|
|
for (const configPath of configPaths) {
|
|
|
|
for (const configPath of configPaths) {
|
|
|
@ -7288,7 +7290,9 @@ class GitAuthHelper {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const pattern = regexpHelper.escape(configKey);
|
|
|
|
const pattern = regexpHelper.escape(configKey);
|
|
|
|
yield this.git.submoduleForeach(`git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, true);
|
|
|
|
yield this.git.submoduleForeach(
|
|
|
|
|
|
|
|
// wrap the pipeline in quotes to make sure it's handled properly by submoduleForeach, rather than just the first part of the pipeline
|
|
|
|
|
|
|
|
`"git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :"`, true);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|