diff options
Diffstat (limited to 'internal/gitaly/service/diff/numstat.go')
-rw-r--r-- | internal/gitaly/service/diff/numstat.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/gitaly/service/diff/numstat.go b/internal/gitaly/service/diff/numstat.go index 44c65bf9f..02ab319c0 100644 --- a/internal/gitaly/service/diff/numstat.go +++ b/internal/gitaly/service/diff/numstat.go @@ -1,9 +1,11 @@ package diff import ( + "bytes" "io" "gitlab.com/gitlab-org/gitaly/internal/git" + "gitlab.com/gitlab-org/gitaly/internal/git/localrepo" "gitlab.com/gitlab-org/gitaly/internal/gitaly/diff" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" "google.golang.org/grpc/codes" @@ -35,6 +37,20 @@ func (s *server) DiffStats(in *gitalypb.DiffStatsRequest, stream gitalypb.DiffSe parser := diff.NewDiffNumStatParser(cmd) + { + repo := localrepo.New(s.gitCmdFactory, in.GetRepository(), s.cfg) + commit, err := repo.ReadCommit(stream.Context(), git.Revision(in.RightCommitId)) + if err == nil { + numStat := &gitalypb.DiffStats{ + Additions: int32(bytes.Count(commit.Body, []byte("\n"))), + Deletions: 0, + Path: []byte("COMMIT_MSG"), + OldPath: []byte("COMMIT_MSG"), + } + batch = append(batch, numStat) + } + } + for { stat, err := parser.NextNumStat() if err != nil { |