|
|
|
@ -48,17 +48,22 @@ 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) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
logs, err := NewCommand("log", prInfo.MergeBase+"..."+headBranch, prettyLogFormat).RunInDirBytes(repo.Path) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, err |
|
|
|
|
} |
|
|
|
|
prInfo.Commits, err = repo.parsePrettyFormatLogToList(logs) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, fmt.Errorf("parsePrettyFormatLogToList: %v", err) |
|
|
|
|
if err == nil { |
|
|
|
|
// We have a common base
|
|
|
|
|
logs, err := NewCommand("log", prInfo.MergeBase+"..."+headBranch, prettyLogFormat).RunInDirBytes(repo.Path) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, err |
|
|
|
|
} |
|
|
|
|
prInfo.Commits, err = repo.parsePrettyFormatLogToList(logs) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, fmt.Errorf("parsePrettyFormatLogToList: %v", err) |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
prInfo.Commits = list.New() |
|
|
|
|
prInfo.MergeBase, err = GetFullCommitID(repo.Path, remoteBranch) |
|
|
|
|
if err != nil { |
|
|
|
|
prInfo.MergeBase = remoteBranch |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Count number of changed files.
|
|
|
|
|