mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Fix files/commits of merged PRs (#2937)
This commit is contained in:
		| @@ -257,12 +257,24 @@ func PrepareMergedViewPullInfo(ctx *context.Context, issue *models.Issue) { | ||||
| 	setMergeTarget(ctx, pull) | ||||
| 	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 { | ||||
| 		ctx.Handle(500, "Repo.GitRepo.CommitsCountBetween", err) | ||||
| 		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 { | ||||
| 		ctx.Handle(500, "Repo.GitRepo.FilesCountBetween", err) | ||||
| 		return | ||||
| @@ -338,19 +350,19 @@ func ViewPullCommits(ctx *context.Context) { | ||||
| 		ctx.Data["Username"] = ctx.Repo.Owner.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 { | ||||
| 			ctx.Handle(500, "Repo.GitRepo.GetCommit", err) | ||||
| 			return | ||||
| 		} | ||||
| 		endCommit, err := ctx.Repo.GitRepo.GetCommit(pull.MergedCommitID) | ||||
| 		endCommitID, err := mergedCommit.ParentID(mergedCommit.ParentCount() - 1) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "Repo.GitRepo.GetCommit", err) | ||||
| 			ctx.Handle(500, "ParentID", err) | ||||
| 			return | ||||
| 		} | ||||
| 		commits, err = ctx.Repo.GitRepo.CommitsBetween(endCommit, startCommit) | ||||
| 		commits, err = ctx.Repo.GitRepo.CommitsBetweenIDs(endCommitID.String(), pull.MergeBase) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "Repo.GitRepo.CommitsBetween", err) | ||||
| 			ctx.Handle(500, "Repo.GitRepo.CommitsBetweenIDs", err) | ||||
| 			return | ||||
| 		} | ||||
| 	} else { | ||||
| @@ -402,7 +414,17 @@ func ViewPullFiles(ctx *context.Context) { | ||||
|  | ||||
| 		diffRepoPath = ctx.Repo.GitRepo.Path | ||||
| 		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 | ||||
|  | ||||
| 		headTarget = path.Join(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ethan Koenig
					Ethan Koenig