From 66145e68c7c7ed34344d0601ba7d8f79323834fc Mon Sep 17 00:00:00 2001 From: Cosimo Streppone Date: Wed, 13 Jan 2021 09:42:33 +0100 Subject: [PATCH] GH#354 Disabled auth submodules config when related setting is false This should help with https://github.com/actions/checkout/issues/354. The problem is that I have no idea whether such auth submodules configuration is required even when settings.submodules is false. --- __test__/git-auth-helper.test.ts | 4 ++++ src/git-auth-helper.ts | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/__test__/git-auth-helper.test.ts b/__test__/git-auth-helper.test.ts index 2b4830cc8..75db18b83 100644 --- a/__test__/git-auth-helper.test.ts +++ b/__test__/git-auth-helper.test.ts @@ -450,6 +450,7 @@ describe('git-auth-helper tests', () => { ) settings.persistCredentials = false settings.sshKey = '' + settings.submodules = true const authHelper = gitAuthHelper.createAuthHelper(git, settings) await authHelper.configureAuth() const mockSubmoduleForeach = git.submoduleForeach as jest.Mock @@ -483,6 +484,7 @@ describe('git-auth-helper tests', () => { configureSubmoduleAuth_configuresSubmodulesWhenPersistCredentialsFalseAndSshKeySet ) settings.persistCredentials = false + settings.submodules = true const authHelper = gitAuthHelper.createAuthHelper(git, settings) await authHelper.configureAuth() const mockSubmoduleForeach = git.submoduleForeach as jest.Mock @@ -509,6 +511,7 @@ describe('git-auth-helper tests', () => { configureSubmoduleAuth_configuresSubmodulesWhenPersistCredentialsTrueAndSshKeyNotSet ) settings.sshKey = '' + settings.submodules = true const authHelper = gitAuthHelper.createAuthHelper(git, settings) await authHelper.configureAuth() const mockSubmoduleForeach = git.submoduleForeach as jest.Mock @@ -543,6 +546,7 @@ describe('git-auth-helper tests', () => { await setup( configureSubmoduleAuth_configuresSubmodulesWhenPersistCredentialsTrueAndSshKeySet ) + settings.submodules = true const authHelper = gitAuthHelper.createAuthHelper(git, settings) await authHelper.configureAuth() const mockSubmoduleForeach = git.submoduleForeach as jest.Mock diff --git a/src/git-auth-helper.ts b/src/git-auth-helper.ts index 291d83bc2..7d620fc8d 100644 --- a/src/git-auth-helper.ts +++ b/src/git-auth-helper.ts @@ -341,10 +341,12 @@ class GitAuthHelper { } } - const pattern = regexpHelper.escape(configKey) - await this.git.submoduleForeach( - `git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, - true - ) + if (this.settings.submodules) { + const pattern = regexpHelper.escape(configKey) + await this.git.submoduleForeach( + `git config --local --name-only --get-regexp '${pattern}' && git config --local --unset-all '${configKey}' || :`, + true + ) + } } }