Skip to content

Commit dcbdc1a

Browse files
seankhliaogopherbot
authored andcommitted
cmd/go/internal/modload: don't set GIT_SSH_COMMAND
Allows git core.sshcommand to take effect when set by the user. This was originally added to work around an issue in OpenSSH < 7.3 (2016), see https://go.dev/issue/13453 . A fixed version of OpenSSH should be widely available enough that it is no longer necessary Fixes #71482 Change-Id: I6f44cc354e8a4063e226cac78ec27117fcc40e93 Reviewed-on: https://go-review.googlesource.com/c/go/+/647995 Reviewed-by: Sam Thanawalla <[email protected]> Auto-Submit: Daniel Martí <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Michael Matloob <[email protected]>
1 parent 887d9ef commit dcbdc1a

File tree

1 file changed

+0
-17
lines changed

1 file changed

+0
-17
lines changed

src/cmd/go/internal/modload/init.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -452,23 +452,6 @@ func Init() {
452452
os.Setenv("GIT_TERMINAL_PROMPT", "0")
453453
}
454454

455-
// Disable any ssh connection pooling by Git.
456-
// If a Git subprocess forks a child into the background to cache a new connection,
457-
// that child keeps stdout/stderr open. After the Git subprocess exits,
458-
// os/exec expects to be able to read from the stdout/stderr pipe
459-
// until EOF to get all the data that the Git subprocess wrote before exiting.
460-
// The EOF doesn't come until the child exits too, because the child
461-
// is holding the write end of the pipe.
462-
// This is unfortunate, but it has come up at least twice
463-
// (see golang.org/issue/13453 and golang.org/issue/16104)
464-
// and confuses users when it does.
465-
// If the user has explicitly set GIT_SSH or GIT_SSH_COMMAND,
466-
// assume they know what they are doing and don't step on it.
467-
// But default to turning off ControlMaster.
468-
if os.Getenv("GIT_SSH") == "" && os.Getenv("GIT_SSH_COMMAND") == "" {
469-
os.Setenv("GIT_SSH_COMMAND", "ssh -o ControlMaster=no -o BatchMode=yes")
470-
}
471-
472455
if os.Getenv("GCM_INTERACTIVE") == "" {
473456
os.Setenv("GCM_INTERACTIVE", "never")
474457
}

0 commit comments

Comments
 (0)