X Tutup
Skip to content

Commit 69ca2dd

Browse files
committed
Quick fix: respect default hostname when parsing owner/repo pairs
This re-enables using GH_HOST to set a default hostname when supplying repo argument like `gh repo clone owner/repo`.
1 parent 815ae7a commit 69ca2dd

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

cmd/gh/main.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/cli/cli/internal/build"
1919
"github.com/cli/cli/internal/config"
2020
"github.com/cli/cli/internal/ghinstance"
21+
"github.com/cli/cli/internal/ghrepo"
2122
"github.com/cli/cli/internal/run"
2223
"github.com/cli/cli/internal/update"
2324
"github.com/cli/cli/pkg/cmd/alias/expand"
@@ -100,6 +101,11 @@ func mainRun() exitCode {
100101
cmdFactory.IOStreams.SetPager(pager)
101102
}
102103

104+
// TODO: remove after FromFullName has been revisited
105+
if host, err := cfg.DefaultHost(); err == nil {
106+
ghrepo.SetDefaultHost(host)
107+
}
108+
103109
expandedArgs := []string{}
104110
if len(os.Args) > 0 {
105111
expandedArgs = os.Args[1:]

internal/ghrepo/repo.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,21 @@ func FullName(r Interface) string {
3535
return fmt.Sprintf("%s/%s", r.RepoOwner(), r.RepoName())
3636
}
3737

38+
var defaultHostOverride string
39+
40+
func defaultHost() string {
41+
if defaultHostOverride != "" {
42+
return defaultHostOverride
43+
}
44+
return ghinstance.Default()
45+
}
46+
47+
// SetDefaultHost overrides the default GitHub hostname for FromFullName.
48+
// TODO: remove after FromFullName approach is revisited
49+
func SetDefaultHost(host string) {
50+
defaultHostOverride = host
51+
}
52+
3853
// FromFullName extracts the GitHub repository information from the following
3954
// formats: "OWNER/REPO", "HOST/OWNER/REPO", and a full URL.
4055
func FromFullName(nwo string) (Interface, error) {
@@ -54,9 +69,9 @@ func FromFullName(nwo string) (Interface, error) {
5469
}
5570
switch len(parts) {
5671
case 3:
57-
return NewWithHost(parts[1], parts[2], normalizeHostname(parts[0])), nil
72+
return NewWithHost(parts[1], parts[2], parts[0]), nil
5873
case 2:
59-
return New(parts[0], parts[1]), nil
74+
return NewWithHost(parts[0], parts[1], defaultHost()), nil
6075
default:
6176
return nil, fmt.Errorf(`expected the "[HOST/]OWNER/REPO" format, got %q`, nwo)
6277
}

0 commit comments

Comments
 (0)
X Tutup