diff options
author | Unknwon <u@gogs.io> | 2017-11-18 00:38:06 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-11-18 00:38:06 -0500 |
commit | 43d6ad5fda4eb978aeec54b49c5b33a096bb31f4 (patch) | |
tree | 5339f5b7df1e2c7e578b0a26a9ebc95fa72e33dc | |
parent | 667c40c3de8e68b6171e67367509fee5d4477813 (diff) |
pull: fix after commit ID is not latest commit in the base branch (#4442)
-rw-r--r-- | models/pull.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/models/pull.go b/models/pull.go index df7c0ab6..d83389c2 100644 --- a/models/pull.go +++ b/models/pull.go @@ -328,7 +328,6 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle return nil } - // TODO: when squash commits, no need to append merge commit. // It is possible that head branch is not fully sync with base branch for merge commits, // so we need to get latest head commit and append merge commit manully // to avoid strange diff commits produced. @@ -337,7 +336,9 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle log.Error(2, "GetBranchCommit: %v", err) return nil } - l.PushFront(mergeCommit) + if mergeStyle == MERGE_STYLE_REGULAR { + l.PushFront(mergeCommit) + } commits, err := ListToPushCommits(l).ToApiPayloadCommits(pr.BaseRepo.RepoPath(), pr.BaseRepo.HTMLURL()) if err != nil { @@ -348,7 +349,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository, mergeStyle p := &api.PushPayload{ Ref: git.BRANCH_PREFIX + pr.BaseBranch, Before: pr.MergeBase, - After: pr.MergedCommitID, + After: mergeCommit.ID.String(), CompareURL: setting.AppURL + pr.BaseRepo.ComposeCompareURL(pr.MergeBase, pr.MergedCommitID), Commits: commits, Repo: pr.BaseRepo.APIFormat(nil), |