From 36d6450977e40d8ea994590e3c9fd60184fe93e4 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Mon, 5 Jun 2017 00:10:53 -0400 Subject: repo/pull: detect case when no merge base found (#4434) --- vendor/github.com/gogits/git-module/repo_pull.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'vendor/github.com/gogits/git-module/repo_pull.go') diff --git a/vendor/github.com/gogits/git-module/repo_pull.go b/vendor/github.com/gogits/git-module/repo_pull.go index 1b0c1cf4..76efa6f4 100644 --- a/vendor/github.com/gogits/git-module/repo_pull.go +++ b/vendor/github.com/gogits/git-module/repo_pull.go @@ -22,7 +22,13 @@ type PullRequestInfo struct { // GetMergeBase checks and returns merge base of two branches. func (repo *Repository) GetMergeBase(base, head string) (string, error) { stdout, err := NewCommand("merge-base", base, head).RunInDir(repo.Path) - return strings.TrimSpace(stdout), err + if err != nil { + if strings.HasSuffix(err.Error(), " 1") { + return "", ErrNoMergeBase{} + } + return "", err + } + return strings.TrimSpace(stdout), nil } // GetPullRequestInfo generates and returns pull request information @@ -47,7 +53,7 @@ func (repo *Repository) GetPullRequestInfo(basePath, baseBranch, headBranch stri prInfo := new(PullRequestInfo) prInfo.MergeBase, err = repo.GetMergeBase(remoteBranch, headBranch) if err != nil { - return nil, fmt.Errorf("GetMergeBase: %v", err) + return nil, err } logs, err := NewCommand("log", prInfo.MergeBase+"..."+headBranch, _PRETTY_LOG_FORMAT).RunInDirBytes(repo.Path) -- cgit v1.2.3