Skip to content
Snippets Groups Projects

Add new GetPatchID RPC

Merged Sincheol (David) Kim requested to merge 4612-add-support-for-patch-id-generation into master
Compare and Show latest version
2 files
+ 15
15
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -2,6 +2,7 @@ package diff
import (
"context"
"errors"
"strings"
"gitlab.com/gitlab-org/gitaly/v15/internal/git"
@@ -17,7 +18,7 @@ func (s *server) GetPatchID(ctx context.Context, in *gitalypb.GetPatchIDRequest)
var diffCmdStderr strings.Builder
diffCmd, err := s.gitCmdFactory.New(ctx, in.Repository,
diffCmd, diffCmdErr := s.gitCmdFactory.New(ctx, in.Repository,
git.SubCmd{
Name: "diff",
Args: []string{string(in.GetOldRevision()), string(in.GetNewRevision())},
@@ -26,13 +27,13 @@ func (s *server) GetPatchID(ctx context.Context, in *gitalypb.GetPatchIDRequest)
)
if diffCmdErr != nil {
return nil, structerr.New("spawning diff: %w", err)
return nil, structerr.New("spawning diff: %w", diffCmdErr)
}
var stdout strings.Builder
var stderr strings.Builder
cmd, cmdErr := s.gitCmdFactory.NewWithoutRepo(ctx,
cmd, err := s.gitCmdFactory.NewWithoutRepo(ctx,
git.SubCmd{
Name: "patch-id",
Flags: []git.Option{git.Flag{Name: "--stable"}},
@@ -41,17 +42,16 @@ func (s *server) GetPatchID(ctx context.Context, in *gitalypb.GetPatchIDRequest)
git.WithStdout(&stdout),
git.WithStderr(&stderr),
)
if cmdErr != nil {
if err != nil {
return nil, structerr.New("spawning patch-id: %w", err)
}
if err := diffCmd.Wait(); err != nil {
return nil, structerr.New("waiting for git-diff: %w").WithMetadata("stderr", diffCmdStderr.String())
if err := cmd.Wait(); err != nil {
return nil, structerr.New("waiting for patch-id: %w", err).WithMetadata("stderr", stderr.String())
}
if err := cmd.Wait(); err != nil {
return nil, structerr.New("waiting for patch-id: %w", err).WithMetadata(stderr.String())
if err := diffCmd.Wait(); err != nil {
return nil, structerr.New("waiting for git-diff: %w", err).WithMetadata("stderr", diffCmdStderr.String())
}
// NOTE: patch_id command also returns commit_id, but we're not sure about its use so ignoring it for now
@@ -69,10 +69,10 @@ func validatePatchIDRequest(in *gitalypb.GetPatchIDRequest) error {
return err
}
if string(in.GetOldRevision()) == "" {
return structerr.New("empty OldRevision")
return errors.New("empty OldRevision")
}
if string(in.GetNewRevision()) == "" {
return structerr.New("empty NewRevision")
return errors.New("empty NewRevision")
}
return nil
Loading