diff --git a/pkg/cmd/auth/login/login.go b/pkg/cmd/auth/login/login.go index 06cdb59a9..848b33e0c 100644 --- a/pkg/cmd/auth/login/login.go +++ b/pkg/cmd/auth/login/login.go @@ -153,7 +153,9 @@ func loginRun(opts *LoginOptions) error { if err := shared.HasMinimumScopes(httpClient, hostname, opts.Token); err != nil { return fmt.Errorf("error validating token: %w", err) } - + if opts.GitProtocol != "" { + cfg.Set(hostname, "git_protocol", opts.GitProtocol) + } return cfg.Write() } diff --git a/pkg/cmd/auth/login/login_test.go b/pkg/cmd/auth/login/login_test.go index 65de3065c..c5b2d0803 100644 --- a/pkg/cmd/auth/login/login_test.go +++ b/pkg/cmd/auth/login/login_test.go @@ -232,6 +232,18 @@ func Test_loginRun_nontty(t *testing.T) { }, wantHosts: "github.com:\n oauth_token: abc123\n", }, + { + name: "with token and https git-protocol", + opts: &LoginOptions{ + Hostname: "github.com", + Token: "abc123", + GitProtocol: "https", + }, + httpStubs: func(reg *httpmock.Registry) { + reg.Register(httpmock.REST("GET", ""), httpmock.ScopesResponder("repo,read:org")) + }, + wantHosts: "github.com:\n oauth_token: abc123\n git_protocol: https\n", + }, { name: "with token and non-default host", opts: &LoginOptions{