forked from Gitlink/gitea-1120-rc1
perf: add the Sha of json response for commits and compare API
This commit is contained in:
parent
5c94750c07
commit
56d390d20b
|
@ -260,6 +260,11 @@ func GetPullFiles(ctx *context.APIContext) {
|
||||||
ctx.JSON(200, diff)
|
ctx.JSON(200, diff)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PullRequestCommit struct {
|
||||||
|
models.SignCommitWithStatuses
|
||||||
|
Sha string
|
||||||
|
}
|
||||||
|
|
||||||
func GetPullCommits(ctx *context.APIContext) {
|
func GetPullCommits(ctx *context.APIContext) {
|
||||||
issue := checkPullInfo(ctx.Context)
|
issue := checkPullInfo(ctx.Context)
|
||||||
if issue == nil {
|
if issue == nil {
|
||||||
|
@ -292,13 +297,16 @@ func GetPullCommits(ctx *context.APIContext) {
|
||||||
commits = models.ValidateCommitsWithEmails(commits)
|
commits = models.ValidateCommitsWithEmails(commits)
|
||||||
commits = models.ParseCommitsWithSignature(commits, ctx.Repo.Repository)
|
commits = models.ParseCommitsWithSignature(commits, ctx.Repo.Repository)
|
||||||
commits = models.ParseCommitsWithStatus(commits, ctx.Repo.Repository)
|
commits = models.ParseCommitsWithStatus(commits, ctx.Repo.Repository)
|
||||||
ctx.Data["Commits"] = commits
|
|
||||||
ctx.Data["CommitCount"] = commits.Len()
|
|
||||||
|
|
||||||
result := make([]models.SignCommitWithStatuses, 0)
|
result := make([]PullRequestCommit, 0)
|
||||||
|
// result := make([]models.SignCommitWithStatuses, 0)
|
||||||
for commit := commits.Front(); commit != nil; commit = commit.Next() {
|
for commit := commits.Front(); commit != nil; commit = commit.Next() {
|
||||||
temp := commit.Value.(models.SignCommitWithStatuses)
|
temp := commit.Value.(models.SignCommitWithStatuses)
|
||||||
result = append(result, temp)
|
pullRequestCommit := PullRequestCommit{
|
||||||
|
temp,
|
||||||
|
temp.ID.String(),
|
||||||
|
}
|
||||||
|
result = append(result, pullRequestCommit)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.JSON(200, result)
|
ctx.JSON(200, result)
|
||||||
|
|
|
@ -858,6 +858,12 @@ func SetDiffViewStyle(ctx *context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CompareCommit struct {
|
||||||
|
*git.Commit
|
||||||
|
Sha string
|
||||||
|
ParentShas []string
|
||||||
|
}
|
||||||
|
|
||||||
func CompareDiff(ctx *context.APIContext) {
|
func CompareDiff(ctx *context.APIContext) {
|
||||||
headUser, headRepo, headGitRepo, compareInfo, baseBranch, headBranch := ParseCompareInfo(ctx.Context)
|
headUser, headRepo, headGitRepo, compareInfo, baseBranch, headBranch := ParseCompareInfo(ctx.Context)
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
|
@ -870,15 +876,23 @@ func CompareDiff(ctx *context.APIContext) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result := make([]*git.Commit, 0)
|
result := make([]CompareCommit, 0)
|
||||||
for commit := compareInfo.Commits.Front(); commit != nil; commit = commit.Next() {
|
for commit := compareInfo.Commits.Front(); commit != nil; commit = commit.Next() {
|
||||||
temp := commit.Value.(*git.Commit)
|
temp := commit.Value.(*git.Commit)
|
||||||
result = append(result, temp)
|
compareCommit := CompareCommit{
|
||||||
|
temp,
|
||||||
|
temp.ID.String(),
|
||||||
|
make([]string, 0),
|
||||||
|
}
|
||||||
|
for i := 0; i < len(temp.Parents); i++ {
|
||||||
|
compareCommit.ParentShas = append(compareCommit.ParentShas, temp.Parents[i].String())
|
||||||
|
}
|
||||||
|
result = append(result, compareCommit)
|
||||||
}
|
}
|
||||||
|
|
||||||
different := struct {
|
different := struct {
|
||||||
Commits []*git.Commit `json: "commits"`
|
Commits []CompareCommit
|
||||||
Diff interface{} `json: "diff"`
|
Diff interface{}
|
||||||
}{}
|
}{}
|
||||||
|
|
||||||
different.Commits = result
|
different.Commits = result
|
||||||
|
|
Loading…
Reference in New Issue