summaryrefslogtreecommitdiffstats
path: root/modules/convert/git_commit.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-02-07 15:43:40 +0100
committerGitHub <noreply@github.com>2021-02-07 15:43:40 +0100
commitcbe7f5296e0400a6327b484cf78d6ffb93c9dd2c (patch)
tree9c6571cb33b8e3a1435697e776cce1dd53c91dfd /modules/convert/git_commit.go
parentc11db35aec40e8e47ee8c678e508a7cdd06a2891 (diff)
downloadgitea-cbe7f5296e0400a6327b484cf78d6ffb93c9dd2c.tar.gz
gitea-cbe7f5296e0400a6327b484cf78d6ffb93c9dd2c.zip
[API] Add affected files of commits to commit struct (#14579)
* Add files affected by a commit to gitea API -- similar to github * Add files affected by a commit to gitea API * Fix stupid error * Fix other stupid typo * Generate swagger tmpl * Comply with convert to git commit refacto * update swagger docs * extend test * format code * Update integrations/api_repo_git_commits_test.go * Update modules/convert/git_commit.go Co-authored-by: Laurent Cahour <laurent.cahour@dont-nod.com> Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'modules/convert/git_commit.go')
-rw-r--r--modules/convert/git_commit.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/convert/git_commit.go b/modules/convert/git_commit.go
index 87dfb51e70..4e30ec2c0b 100644
--- a/modules/convert/git_commit.go
+++ b/modules/convert/git_commit.go
@@ -131,6 +131,20 @@ func ToCommit(repo *models.Repository, commit *git.Commit, userCache map[string]
}
}
+ // Retrieve files affected by the commit
+ fileStatus, err := git.GetCommitFileStatus(repo.RepoPath(), commit.ID.String())
+ if err != nil {
+ return nil, err
+ }
+ affectedFileList := make([]*api.CommitAffectedFiles, 0, len(fileStatus.Added)+len(fileStatus.Removed)+len(fileStatus.Modified))
+ for _, files := range [][]string{fileStatus.Added, fileStatus.Removed, fileStatus.Modified} {
+ for _, filename := range files {
+ affectedFileList = append(affectedFileList, &api.CommitAffectedFiles{
+ Filename: filename,
+ })
+ }
+ }
+
return &api.Commit{
CommitMeta: &api.CommitMeta{
URL: repo.APIURL() + "/git/commits/" + commit.ID.String(),
@@ -162,5 +176,6 @@ func ToCommit(repo *models.Repository, commit *git.Commit, userCache map[string]
Author: apiAuthor,
Committer: apiCommitter,
Parents: apiParents,
+ Files: affectedFileList,
}, nil
}