diff --git a/pkg/cmd/repo/fork/fork.go b/pkg/cmd/repo/fork/fork.go index a441b1af5..a83000e0a 100644 --- a/pkg/cmd/repo/fork/fork.go +++ b/pkg/cmd/repo/fork/fork.go @@ -83,20 +83,20 @@ Additional 'git clone' flags can be passed in by listing them after '--'.`, opts.GitArgs = args[1:] } + if cmd.Flags().Changed("org") && opts.Organization == "" { + return &cmdutil.FlagError{Err: errors.New("--org cannot be blank")} + } + if opts.RemoteName == "" { return &cmdutil.FlagError{Err: errors.New("--remote-name cannot be blank")} + } else if !cmd.Flags().Changed("remote-name") { + opts.Rename = true // Any existing 'origin' will be renamed to upstream } - if promptOk && !cmd.Flags().Changed("clone") { - opts.PromptClone = true - } - - if promptOk && !cmd.Flags().Changed("remote") { - opts.PromptRemote = true - } - - if !cmd.Flags().Changed("remote-name") { - opts.Rename = true + if promptOk { + // We can prompt for these if they were not specified. + opts.PromptClone = !cmd.Flags().Changed("clone") + opts.PromptRemote = !cmd.Flags().Changed("remote") } if runF != nil { diff --git a/pkg/cmd/repo/fork/fork_test.go b/pkg/cmd/repo/fork/fork_test.go index 914f60af8..1eb42943d 100644 --- a/pkg/cmd/repo/fork/fork_test.go +++ b/pkg/cmd/repo/fork/fork_test.go @@ -120,6 +120,12 @@ func TestNewCmdFork(t *testing.T) { Organization: "batmanshome", }, }, + { + name: "empty org", + cli: " --org=''", + wantErr: true, + errMsg: "--org cannot be blank", + }, { name: "git flags in wrong place", cli: "--depth 1 OWNER/REPO",