Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2021-03-10 15:48:27 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2021-03-10 16:25:07 +0300
commitfecffa868655a86b3358230a8218f9318af565e2 (patch)
tree15adc6dfdd3d55e25971ca4b6ea069e135b17bba
parent842d86ff6bd91d9826b613851472ae1defdd9b00 (diff)
operations: Use proper types for `isAncestor()`
Convert `isAncestor()` to use properly typed arguments and return values.
-rw-r--r--internal/gitaly/service/operations/cherry_pick.go2
-rw-r--r--internal/gitaly/service/operations/merge.go11
-rw-r--r--internal/gitaly/service/operations/revert.go2
3 files changed, 10 insertions, 5 deletions
diff --git a/internal/gitaly/service/operations/cherry_pick.go b/internal/gitaly/service/operations/cherry_pick.go
index 3818fd240..9dacf57e9 100644
--- a/internal/gitaly/service/operations/cherry_pick.go
+++ b/internal/gitaly/service/operations/cherry_pick.go
@@ -100,7 +100,7 @@ func (s *Server) userCherryPick(ctx context.Context, req *gitalypb.UserCherryPic
}
if !branchCreated {
- ancestor, err := s.isAncestor(ctx, req.Repository, oldrev.String(), newrev.String())
+ ancestor, err := s.isAncestor(ctx, req.Repository, oldrev, newrev)
if err != nil {
return nil, err
}
diff --git a/internal/gitaly/service/operations/merge.go b/internal/gitaly/service/operations/merge.go
index 74edf8229..747b224f3 100644
--- a/internal/gitaly/service/operations/merge.go
+++ b/internal/gitaly/service/operations/merge.go
@@ -158,7 +158,12 @@ func (s *Server) UserFFBranch(ctx context.Context, in *gitalypb.UserFFBranchRequ
return nil, helper.ErrInvalidArgument(err)
}
- ancestor, err := s.isAncestor(ctx, in.Repository, revision.String(), in.CommitId)
+ commitID, err := git.NewObjectIDFromHex(in.CommitId)
+ if err != nil {
+ return nil, helper.ErrInvalidArgumentf("cannot parse commit ID: %w", err)
+ }
+
+ ancestor, err := s.isAncestor(ctx, in.Repository, revision, commitID)
if err != nil {
return nil, err
}
@@ -296,11 +301,11 @@ func (s *Server) UserMergeToRef(ctx context.Context, request *gitalypb.UserMerge
}, nil
}
-func (s *Server) isAncestor(ctx context.Context, repo repository.GitRepo, ancestor, descendant string) (bool, error) {
+func (s *Server) isAncestor(ctx context.Context, repo repository.GitRepo, ancestor, descendant git.ObjectID) (bool, error) {
cmd, err := s.gitCmdFactory.New(ctx, repo, nil, git.SubCmd{
Name: "merge-base",
Flags: []git.Option{git.Flag{Name: "--is-ancestor"}},
- Args: []string{ancestor, descendant},
+ Args: []string{ancestor.String(), descendant.String()},
})
if err != nil {
return false, helper.ErrInternalf("isAncestor: %w", err)
diff --git a/internal/gitaly/service/operations/revert.go b/internal/gitaly/service/operations/revert.go
index 31b815b0c..f6a028058 100644
--- a/internal/gitaly/service/operations/revert.go
+++ b/internal/gitaly/service/operations/revert.go
@@ -93,7 +93,7 @@ func (s *Server) UserRevert(ctx context.Context, req *gitalypb.UserRevertRequest
}
if !branchCreated {
- ancestor, err := s.isAncestor(ctx, req.Repository, oldrev.String(), newrev.String())
+ ancestor, err := s.isAncestor(ctx, req.Repository, oldrev, newrev)
if err != nil {
return nil, err
}