loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

api: GetPullRequestCommits: return file list (#27483)

Fixes https://github.com/go-gitea/gitea/issues/27481

----

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>

authored by

Michael Santos
silverwind
wxiaoguang
and committed by
GitHub
5283ce96 65eea1d5

+65 -2
+17 -1
routers/api/v1/repo/notes.go
··· 36 36 // description: a git ref or commit sha 37 37 // type: string 38 38 // required: true 39 + // - name: verification 40 + // in: query 41 + // description: include verification for every commit (disable for speedup, default 'true') 42 + // type: boolean 43 + // - name: files 44 + // in: query 45 + // description: include a list of affected files for every commit (disable for speedup, default 'true') 46 + // type: boolean 39 47 // responses: 40 48 // "200": 41 49 // "$ref": "#/responses/Note" ··· 78 86 return 79 87 } 80 88 81 - cmt, err := convert.ToCommit(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, note.Commit, nil, convert.ToCommitOptions{Stat: true}) 89 + verification := ctx.FormString("verification") == "" || ctx.FormBool("verification") 90 + files := ctx.FormString("files") == "" || ctx.FormBool("files") 91 + 92 + cmt, err := convert.ToCommit(ctx, ctx.Repo.Repository, ctx.Repo.GitRepo, note.Commit, nil, 93 + convert.ToCommitOptions{ 94 + Stat: true, 95 + Verification: verification, 96 + Files: files, 97 + }) 82 98 if err != nil { 83 99 ctx.Error(http.StatusInternalServerError, "ToCommit", err) 84 100 return
+17 -1
routers/api/v1/repo/pull.go
··· 1275 1275 // in: query 1276 1276 // description: page size of results 1277 1277 // type: integer 1278 + // - name: verification 1279 + // in: query 1280 + // description: include verification for every commit (disable for speedup, default 'true') 1281 + // type: boolean 1282 + // - name: files 1283 + // in: query 1284 + // description: include a list of affected files for every commit (disable for speedup, default 'true') 1285 + // type: boolean 1278 1286 // responses: 1279 1287 // "200": 1280 1288 // "$ref": "#/responses/CommitList" ··· 1328 1336 end = totalNumberOfCommits 1329 1337 } 1330 1338 1339 + verification := ctx.FormString("verification") == "" || ctx.FormBool("verification") 1340 + files := ctx.FormString("files") == "" || ctx.FormBool("files") 1341 + 1331 1342 apiCommits := make([]*api.Commit, 0, end-start) 1332 1343 for i := start; i < end; i++ { 1333 - apiCommit, err := convert.ToCommit(ctx, ctx.Repo.Repository, baseGitRepo, commits[i], userCache, convert.ToCommitOptions{Stat: true}) 1344 + apiCommit, err := convert.ToCommit(ctx, ctx.Repo.Repository, baseGitRepo, commits[i], userCache, 1345 + convert.ToCommitOptions{ 1346 + Stat: true, 1347 + Verification: verification, 1348 + Files: files, 1349 + }) 1334 1350 if err != nil { 1335 1351 ctx.ServerError("toCommit", err) 1336 1352 return
+24
templates/swagger/v1_json.tmpl
··· 5239 5239 "name": "sha", 5240 5240 "in": "path", 5241 5241 "required": true 5242 + }, 5243 + { 5244 + "type": "boolean", 5245 + "description": "include verification for every commit (disable for speedup, default 'true')", 5246 + "name": "verification", 5247 + "in": "query" 5248 + }, 5249 + { 5250 + "type": "boolean", 5251 + "description": "include a list of affected files for every commit (disable for speedup, default 'true')", 5252 + "name": "files", 5253 + "in": "query" 5242 5254 } 5243 5255 ], 5244 5256 "responses": { ··· 10520 10532 "type": "integer", 10521 10533 "description": "page size of results", 10522 10534 "name": "limit", 10535 + "in": "query" 10536 + }, 10537 + { 10538 + "type": "boolean", 10539 + "description": "include verification for every commit (disable for speedup, default 'true')", 10540 + "name": "verification", 10541 + "in": "query" 10542 + }, 10543 + { 10544 + "type": "boolean", 10545 + "description": "include a list of affected files for every commit (disable for speedup, default 'true')", 10546 + "name": "files", 10523 10547 "in": "query" 10524 10548 } 10525 10549 ],
+5
tests/integration/api_pull_commits_test.go
··· 35 35 36 36 assert.Equal(t, "5f22f7d0d95d614d25a5b68592adb345a4b5c7fd", commits[0].SHA) 37 37 assert.Equal(t, "4a357436d925b5c974181ff12a994538ddc5a269", commits[1].SHA) 38 + 39 + assert.NotEmpty(t, commits[0].Files) 40 + assert.NotEmpty(t, commits[1].Files) 41 + assert.NotNil(t, commits[0].RepoCommit.Verification) 42 + assert.NotNil(t, commits[1].RepoCommit.Verification) 38 43 } 39 44 40 45 // TODO add tests for already merged PR and closed PR
+2
tests/integration/api_repo_git_notes_test.go
··· 37 37 var apiData api.Note 38 38 DecodeJSON(t, resp, &apiData) 39 39 assert.Equal(t, "This is a test note\n", apiData.Message) 40 + assert.NotEmpty(t, apiData.Commit.Files) 41 + assert.NotNil(t, apiData.Commit.RepoCommit.Verification) 40 42 }) 41 43 }