| @@ -257,12 +257,24 @@ func PrepareMergedViewPullInfo(ctx *context.Context, issue *models.Issue) { | |||||
| setMergeTarget(ctx, pull) | setMergeTarget(ctx, pull) | ||||
| ctx.Data["HasMerged"] = true | ctx.Data["HasMerged"] = true | ||||
| ctx.Data["NumCommits"], err = ctx.Repo.GitRepo.CommitsCountBetween(pull.MergeBase, pull.MergedCommitID) | |||||
| mergedCommit, err := ctx.Repo.GitRepo.GetCommit(pull.MergedCommitID) | |||||
| if err != nil { | |||||
| ctx.Handle(500, "GetCommit", err) | |||||
| return | |||||
| } | |||||
| // the ID of the last commit in the PR (not including the merge commit) | |||||
| endCommitID, err := mergedCommit.ParentID(mergedCommit.ParentCount() - 1) | |||||
| if err != nil { | |||||
| ctx.Handle(500, "ParentID", err) | |||||
| return | |||||
| } | |||||
| ctx.Data["NumCommits"], err = ctx.Repo.GitRepo.CommitsCountBetween(pull.MergeBase, endCommitID.String()) | |||||
| if err != nil { | if err != nil { | ||||
| ctx.Handle(500, "Repo.GitRepo.CommitsCountBetween", err) | ctx.Handle(500, "Repo.GitRepo.CommitsCountBetween", err) | ||||
| return | return | ||||
| } | } | ||||
| ctx.Data["NumFiles"], err = ctx.Repo.GitRepo.FilesCountBetween(pull.MergeBase, pull.MergedCommitID) | |||||
| ctx.Data["NumFiles"], err = ctx.Repo.GitRepo.FilesCountBetween(pull.MergeBase, endCommitID.String()) | |||||
| if err != nil { | if err != nil { | ||||
| ctx.Handle(500, "Repo.GitRepo.FilesCountBetween", err) | ctx.Handle(500, "Repo.GitRepo.FilesCountBetween", err) | ||||
| return | return | ||||
| @@ -338,19 +350,19 @@ func ViewPullCommits(ctx *context.Context) { | |||||
| ctx.Data["Username"] = ctx.Repo.Owner.Name | ctx.Data["Username"] = ctx.Repo.Owner.Name | ||||
| ctx.Data["Reponame"] = ctx.Repo.Repository.Name | ctx.Data["Reponame"] = ctx.Repo.Repository.Name | ||||
| startCommit, err := ctx.Repo.GitRepo.GetCommit(pull.MergeBase) | |||||
| mergedCommit, err := ctx.Repo.GitRepo.GetCommit(pull.MergedCommitID) | |||||
| if err != nil { | if err != nil { | ||||
| ctx.Handle(500, "Repo.GitRepo.GetCommit", err) | ctx.Handle(500, "Repo.GitRepo.GetCommit", err) | ||||
| return | return | ||||
| } | } | ||||
| endCommit, err := ctx.Repo.GitRepo.GetCommit(pull.MergedCommitID) | |||||
| endCommitID, err := mergedCommit.ParentID(mergedCommit.ParentCount() - 1) | |||||
| if err != nil { | if err != nil { | ||||
| ctx.Handle(500, "Repo.GitRepo.GetCommit", err) | |||||
| ctx.Handle(500, "ParentID", err) | |||||
| return | return | ||||
| } | } | ||||
| commits, err = ctx.Repo.GitRepo.CommitsBetween(endCommit, startCommit) | |||||
| commits, err = ctx.Repo.GitRepo.CommitsBetweenIDs(endCommitID.String(), pull.MergeBase) | |||||
| if err != nil { | if err != nil { | ||||
| ctx.Handle(500, "Repo.GitRepo.CommitsBetween", err) | |||||
| ctx.Handle(500, "Repo.GitRepo.CommitsBetweenIDs", err) | |||||
| return | return | ||||
| } | } | ||||
| } else { | } else { | ||||
| @@ -402,7 +414,17 @@ func ViewPullFiles(ctx *context.Context) { | |||||
| diffRepoPath = ctx.Repo.GitRepo.Path | diffRepoPath = ctx.Repo.GitRepo.Path | ||||
| startCommitID = pull.MergeBase | startCommitID = pull.MergeBase | ||||
| endCommitID = pull.MergedCommitID | |||||
| mergedCommit, err := ctx.Repo.GitRepo.GetCommit(pull.MergedCommitID) | |||||
| if err != nil { | |||||
| ctx.Handle(500, "GetCommit", err) | |||||
| return | |||||
| } | |||||
| endCommitSha, err := mergedCommit.ParentID(mergedCommit.ParentCount() - 1) | |||||
| if err != nil { | |||||
| ctx.Handle(500, "ParentID", err) | |||||
| return | |||||
| } | |||||
| endCommitID = endCommitSha.String() | |||||
| gitRepo = ctx.Repo.GitRepo | gitRepo = ctx.Repo.GitRepo | ||||
| headTarget = path.Join(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) | headTarget = path.Join(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) | ||||