From 2cfc15f21695b136abac4954c2e302b36d9de563 Mon Sep 17 00:00:00 2001 From: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com> Date: Wed, 14 Sep 2022 21:43:26 +0200 Subject: [PATCH] Do not override SSH_ASKPASS for the terminal --- extensions/git/src/askpass.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/git/src/askpass.ts b/extensions/git/src/askpass.ts index 6b0be6807dcb2..b92b1daa0092a 100644 --- a/extensions/git/src/askpass.ts +++ b/extensions/git/src/askpass.ts @@ -16,6 +16,7 @@ const localize = nls.loadMessageBundle(); export class Askpass implements IIPCHandler, ITerminalEnvironmentProvider { private env: { [key: string]: string }; + private sshEnv: { [key: string]: string }; private disposable: IDisposable = EmptyDisposable; private cache = new Map(); private credentialsProviders = new Set(); @@ -28,14 +29,17 @@ export class Askpass implements IIPCHandler, ITerminalEnvironmentProvider { this.env = { // GIT_ASKPASS GIT_ASKPASS: path.join(__dirname, this.ipc ? 'askpass.sh' : 'askpass-empty.sh'), - // SSH_ASKPASS - SSH_ASKPASS: path.join(__dirname, this.ipc ? 'ssh-askpass.sh' : 'ssh-askpass-empty.sh'), - SSH_ASKPASS_REQUIRE: 'force', // VSCODE_GIT_ASKPASS VSCODE_GIT_ASKPASS_NODE: process.execPath, VSCODE_GIT_ASKPASS_EXTRA_ARGS: (process.versions['electron'] && process.versions['microsoft-build']) ? '--ms-enable-electron-run-as-node' : '', VSCODE_GIT_ASKPASS_MAIN: path.join(__dirname, 'askpass-main.js'), }; + + this.sshEnv = { + // SSH_ASKPASS + SSH_ASKPASS: path.join(__dirname, this.ipc ? 'ssh-askpass.sh' : 'ssh-askpass-empty.sh'), + SSH_ASKPASS_REQUIRE: 'force', + }; } async handle(payload: @@ -122,7 +126,7 @@ export class Askpass implements IIPCHandler, ITerminalEnvironmentProvider { getEnv(): { [key: string]: string } { const config = workspace.getConfiguration('git'); - return config.get('useIntegratedAskPass') ? this.env : {}; + return config.get('useIntegratedAskPass') ? { ...this.env, ...this.sshEnv } : {}; } getTerminalEnv(): { [key: string]: string } {