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:
authorJames Fargher <jfargher@gitlab.com>2023-06-01 05:07:57 +0300
committerJames Fargher <jfargher@gitlab.com>2023-06-01 05:18:28 +0300
commit57fc44b95a91e6868a54e04daf29c9038969ce91 (patch)
tree9385f6afdecbcc920faa5d032330b8548b3bbe72
parent3dfed72d32a77b548131f56de6544b9bebc6dff6 (diff)
commit service: Use actual HEAD instead of GetDefaultBranch heuristic
Various commit service RPCs were using GetDefaultBranch as the default revision, but this method has some unintuitive behaviour. Namely that it wont use HEAD if the repository is empty and it will select any branch if that's the only branch that exists. Instead here we rely on HEAD only.
-rw-r--r--internal/gitaly/service/commit/commits_by_message.go2
-rw-r--r--internal/gitaly/service/commit/find_commits.go6
-rw-r--r--internal/gitaly/service/commit/languages.go2
-rw-r--r--internal/gitaly/service/commit/list_files.go2
4 files changed, 5 insertions, 7 deletions
diff --git a/internal/gitaly/service/commit/commits_by_message.go b/internal/gitaly/service/commit/commits_by_message.go
index 1016dfaea..6e5f28674 100644
--- a/internal/gitaly/service/commit/commits_by_message.go
+++ b/internal/gitaly/service/commit/commits_by_message.go
@@ -54,7 +54,7 @@ func (s *server) commitsByMessage(in *gitalypb.CommitsByMessageRequest, stream g
revision := in.GetRevision()
if len(revision) == 0 {
- defaultBranch, err := repo.GetDefaultBranch(ctx)
+ defaultBranch, err := repo.HeadReference(ctx)
if err != nil {
return err
}
diff --git a/internal/gitaly/service/commit/find_commits.go b/internal/gitaly/service/commit/find_commits.go
index 134de794d..0192801ae 100644
--- a/internal/gitaly/service/commit/find_commits.go
+++ b/internal/gitaly/service/commit/find_commits.go
@@ -42,12 +42,10 @@ func (s *server) FindCommits(req *gitalypb.FindCommitsRequest, stream gitalypb.C
repo := s.localrepo(req.GetRepository())
- // Use Gitaly's default branch lookup function because that is already
- // migrated.
if revision := req.Revision; len(revision) == 0 && !req.GetAll() {
- defaultBranch, err := repo.GetDefaultBranch(ctx)
+ defaultBranch, err := repo.HeadReference(ctx)
if err != nil {
- return structerr.NewInternal("defaultBranchName: %w", err)
+ return structerr.NewInternal("default branch: %w", err)
}
req.Revision = []byte(defaultBranch)
}
diff --git a/internal/gitaly/service/commit/languages.go b/internal/gitaly/service/commit/languages.go
index 2093dc556..57fd4ec13 100644
--- a/internal/gitaly/service/commit/languages.go
+++ b/internal/gitaly/service/commit/languages.go
@@ -38,7 +38,7 @@ func (s *server) CommitLanguages(ctx context.Context, req *gitalypb.CommitLangua
revision := string(req.Revision)
if revision == "" {
- defaultBranch, err := repo.GetDefaultBranch(ctx)
+ defaultBranch, err := repo.HeadReference(ctx)
if err != nil {
return nil, err
}
diff --git a/internal/gitaly/service/commit/list_files.go b/internal/gitaly/service/commit/list_files.go
index 9ef4c90e0..c75b36b7e 100644
--- a/internal/gitaly/service/commit/list_files.go
+++ b/internal/gitaly/service/commit/list_files.go
@@ -31,7 +31,7 @@ func (s *server) ListFiles(in *gitalypb.ListFilesRequest, stream gitalypb.Commit
revision := string(in.GetRevision())
if len(revision) == 0 {
- defaultBranch, err := repo.GetDefaultBranch(stream.Context())
+ defaultBranch, err := repo.HeadReference(stream.Context())
if err != nil {
return structerr.NewNotFound("revision not found %q", revision)
}