From ff97fc138d861effbbe8d5fea9fb265e976b6066 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Fri, 22 May 2020 15:12:48 -0700 Subject: [PATCH] Still delete remote branch if repo flag is used --- command/pr.go | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/command/pr.go b/command/pr.go index b9d87e14e..6a080b7f4 100644 --- a/command/pr.go +++ b/command/pr.go @@ -549,7 +549,7 @@ func prMerge(cmd *cobra.Command, args []string) error { fmt.Fprintf(colorableOut(cmd), "%s %s pull request #%d\n", utils.Magenta("✔"), action, pr.Number) - if deleteBranch && !cmd.Flags().Changed("repo") { + if deleteBranch { repo, err := api.GitHubRepo(apiClient, baseRepo) if err != nil { return err @@ -560,21 +560,29 @@ func prMerge(cmd *cobra.Command, args []string) error { return err } - var branchToSwitchTo string - if currentBranch == pr.HeadRefName { - branchToSwitchTo = repo.DefaultBranchRef.Name - err = git.CheckoutBranch(repo.DefaultBranchRef.Name) - if err != nil { - return err - } - } + branchSwitchString := "" - localBranchExists := git.HasLocalBranch(pr.HeadRefName) - if localBranchExists { - err = git.DeleteLocalBranch(pr.HeadRefName) - if err != nil { - err = fmt.Errorf("failed to delete local branch %s: %w", utils.Cyan(pr.HeadRefName), err) - return err + if !cmd.Flags().Changed("repo") { + var branchToSwitchTo string + if currentBranch == pr.HeadRefName { + branchToSwitchTo = repo.DefaultBranchRef.Name + err = git.CheckoutBranch(repo.DefaultBranchRef.Name) + if err != nil { + return err + } + } + + localBranchExists := git.HasLocalBranch(pr.HeadRefName) + if localBranchExists { + err = git.DeleteLocalBranch(pr.HeadRefName) + if err != nil { + err = fmt.Errorf("failed to delete local branch %s: %w", utils.Cyan(pr.HeadRefName), err) + return err + } + } + + if branchToSwitchTo != "" { + branchSwitchString = fmt.Sprintf(" and switched to branch %s", utils.Cyan(branchToSwitchTo)) } } @@ -584,11 +592,6 @@ func prMerge(cmd *cobra.Command, args []string) error { return err } - branchSwitchString := "" - if branchToSwitchTo != "" { - branchSwitchString = fmt.Sprintf(" and switched to branch %s", utils.Cyan(branchToSwitchTo)) - } - fmt.Fprintf(colorableOut(cmd), "%s Deleted branch %s%s\n", utils.Red("✔"), utils.Cyan(pr.HeadRefName), branchSwitchString) }