Deal with merge conflicts
This commit is contained in:
parent
ea164a8d48
commit
6666adbdce
2 changed files with 20 additions and 2 deletions
|
|
@ -45,6 +45,7 @@ type PullRequest struct {
|
|||
BaseRefName string
|
||||
HeadRefName string
|
||||
Body string
|
||||
Mergeable string
|
||||
|
||||
Author struct {
|
||||
Login string
|
||||
|
|
@ -228,6 +229,7 @@ func PullRequests(client *Client, repo ghrepo.Interface, currentPRNumber int, cu
|
|||
state
|
||||
url
|
||||
headRefName
|
||||
mergeable
|
||||
headRepositoryOwner {
|
||||
login
|
||||
}
|
||||
|
|
@ -382,6 +384,7 @@ func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*Pu
|
|||
state
|
||||
closed
|
||||
body
|
||||
mergeable
|
||||
author {
|
||||
login
|
||||
}
|
||||
|
|
@ -490,6 +493,7 @@ func PullRequestForBranch(client *Client, repo ghrepo.Interface, baseBranch, hea
|
|||
title
|
||||
state
|
||||
body
|
||||
mergeable
|
||||
author {
|
||||
login
|
||||
}
|
||||
|
|
|
|||
|
|
@ -449,7 +449,15 @@ func prMerge(cmd *cobra.Command, args []string) error {
|
|||
|
||||
var pr *api.PullRequest
|
||||
if len(args) > 0 {
|
||||
pr, err = prFromArg(apiClient, baseRepo, args[0])
|
||||
var prNumber string
|
||||
n, _ := prFromURL(args[0])
|
||||
if n != "" {
|
||||
prNumber = n
|
||||
} else {
|
||||
prNumber = args[0]
|
||||
}
|
||||
|
||||
pr, err = prFromArg(apiClient, baseRepo, prNumber)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -469,7 +477,13 @@ func prMerge(cmd *cobra.Command, args []string) error {
|
|||
}
|
||||
}
|
||||
|
||||
if pr.State == "MERGED" {
|
||||
if pr.Mergeable == "CONFLICTING" {
|
||||
err := fmt.Errorf("%s Pull request #%d has conflicts and isn't mergeable ", utils.Red("!"), pr.Number)
|
||||
return err
|
||||
} else if pr.Mergeable == "UNKNOWN" {
|
||||
err := fmt.Errorf("%s Pull request #%d can't be merged right now", utils.Red("!"), pr.Number)
|
||||
return err
|
||||
} else if pr.State == "MERGED" {
|
||||
err := fmt.Errorf("%s Pull request #%d was already merged", utils.Red("!"), pr.Number)
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue