@@ -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.
4055func 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