25 lines
681 B
Go
25 lines
681 B
Go
package cmdutil
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/cli/cli/internal/ghrepo"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func EnableRepoOverride(cmd *cobra.Command, f *Factory) {
|
|
cmd.PersistentFlags().StringP("repo", "R", "", "Select another repository using the `[HOST/]OWNER/REPO` format")
|
|
|
|
cmd.PersistentPreRun = func(cmd *cobra.Command, args []string) {
|
|
repoOverride, _ := cmd.Flags().GetString("repo")
|
|
if repoFromEnv := os.Getenv("GH_REPO"); repoOverride == "" && repoFromEnv != "" {
|
|
repoOverride = repoFromEnv
|
|
}
|
|
if repoOverride != "" {
|
|
// NOTE: this mutates the factory
|
|
f.BaseRepo = func() (ghrepo.Interface, error) {
|
|
return ghrepo.FromFullName(repoOverride)
|
|
}
|
|
}
|
|
}
|
|
}
|