Use a var

This commit is contained in:
Corey Johnson 2020-05-08 11:37:45 -07:00
parent b9c4a76687
commit 43e15130f1
2 changed files with 19 additions and 15 deletions

View file

@ -130,6 +130,14 @@ type PullRequestReviewStatus struct {
ReviewRequired bool
}
type PullRequestMergeMethod int
const (
PullRequestMergeMethodMerge PullRequestMergeMethod = iota
PullRequestMergeMethodRebase
PullRequestMergeMethodSquash
)
func (pr *PullRequest) ReviewStatus() PullRequestReviewStatus {
var status PullRequestReviewStatus
switch pr.ReviewDecision {
@ -801,19 +809,15 @@ func PullRequestReopen(client *Client, repo ghrepo.Interface, pr *PullRequest) e
return err
}
func PullRequestMerge(client *Client, repo ghrepo.Interface, pr *PullRequest) error {
return merge(client, repo, pr, githubv4.PullRequestMergeMethodMerge)
}
func PullRequestMerge(client *Client, repo ghrepo.Interface, pr *PullRequest, m PullRequestMergeMethod) error {
mergeMethod := githubv4.PullRequestMergeMethodMerge
switch m {
case PullRequestMergeMethodRebase:
mergeMethod = githubv4.PullRequestMergeMethodRebase
case PullRequestMergeMethodSquash:
mergeMethod = githubv4.PullRequestMergeMethodSquash
}
func PullRequestRebase(client *Client, repo ghrepo.Interface, pr *PullRequest) error {
return merge(client, repo, pr, githubv4.PullRequestMergeMethodRebase)
}
func PullRequestSquash(client *Client, repo ghrepo.Interface, pr *PullRequest) error {
return merge(client, repo, pr, githubv4.PullRequestMergeMethodSquash)
}
func merge(client *Client, repo ghrepo.Interface, pr *PullRequest, mergeMethod githubv4.PullRequestMergeMethod) error {
var mutation struct {
MergePullRequest struct {
PullRequest struct {

View file

@ -483,13 +483,13 @@ func prMerge(cmd *cobra.Command, args []string) error {
var output string
if rebase {
output = fmt.Sprintf("%s Rebased and merged pull request #%d\n", utils.Green("✔"), pr.Number)
err = api.PullRequestRebase(apiClient, baseRepo, pr)
err = api.PullRequestMerge(apiClient, baseRepo, pr, api.PullRequestMergeMethodRebase)
} else if squash {
output = fmt.Sprintf("%s Squashed and merged pull request #%d\n", utils.Green("✔"), pr.Number)
err = api.PullRequestSquash(apiClient, baseRepo, pr)
err = api.PullRequestMerge(apiClient, baseRepo, pr, api.PullRequestMergeMethodSquash)
} else {
output = fmt.Sprintf("%s Merged pull request #%d\n", utils.Green("✔"), pr.Number)
err = api.PullRequestMerge(apiClient, baseRepo, pr)
err = api.PullRequestMerge(apiClient, baseRepo, pr, api.PullRequestMergeMethodMerge)
}
if err != nil {