diff options
author | James Fargher <jfargher@gitlab.com> | 2023-06-01 05:07:57 +0300 |
---|---|---|
committer | James Fargher <jfargher@gitlab.com> | 2023-06-01 05:18:28 +0300 |
commit | 57fc44b95a91e6868a54e04daf29c9038969ce91 (patch) | |
tree | 9385f6afdecbcc920faa5d032330b8548b3bbe72 | |
parent | 3dfed72d32a77b548131f56de6544b9bebc6dff6 (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.go | 2 | ||||
-rw-r--r-- | internal/gitaly/service/commit/find_commits.go | 6 | ||||
-rw-r--r-- | internal/gitaly/service/commit/languages.go | 2 | ||||
-rw-r--r-- | internal/gitaly/service/commit/list_files.go | 2 |
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) } |