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>2022-11-10 18:15:19 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2022-11-10 18:15:19 +0300
commit1e9c49fe63942cf425ce08499b22dbd2de06b00f (patch)
tree4131f139193ee7cebf8c4022e05eba30bec6217f
parent2bd521042d2f57792c1fba46900f09bc5a32929e (diff)
parent73b6417d6c9ca8d52d715fa5f80d712791e21a1d (diff)
Merge branch 'no_object_hash_checksum' into 'master'
Extract a zero checksum constant See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5036 Merged-by: Patrick Steinhardt <psteinhardt@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Co-authored-by: James Fargher <jfargher@gitlab.com>
-rw-r--r--internal/git/checksum.go5
-rw-r--r--internal/git/checksum_test.go4
-rw-r--r--internal/gitaly/service/repository/calculate_checksum.go2
-rw-r--r--internal/gitaly/service/repository/calculate_checksum_test.go4
4 files changed, 8 insertions, 7 deletions
diff --git a/internal/git/checksum.go b/internal/git/checksum.go
index ce4fb25d0..89f0e8404 100644
--- a/internal/git/checksum.go
+++ b/internal/git/checksum.go
@@ -8,6 +8,9 @@ import (
"regexp"
)
+// ZeroChecksum is the hex representation of a checksum with no references added.
+const ZeroChecksum = "0000000000000000000000000000000000000000"
+
var refsAllowed = regexp.MustCompile(`HEAD|(refs/(heads|tags|keep-around|merge-requests|environments|notes)/)`)
// Checksum is a hash representation of all references in a repository.
@@ -65,7 +68,7 @@ func (c *Checksum) Bytes() []byte {
// String returns the checksum as a hex encoded string.
func (c *Checksum) String() string {
if c.IsZero() {
- return ObjectHashSHA1.ZeroOID.String()
+ return ZeroChecksum
}
return hex.EncodeToString(c.Bytes())
}
diff --git a/internal/git/checksum_test.go b/internal/git/checksum_test.go
index b70650d3d..857dd292d 100644
--- a/internal/git/checksum_test.go
+++ b/internal/git/checksum_test.go
@@ -1,5 +1,3 @@
-//go:build !gitaly_test_sha256
-
package git
import (
@@ -53,7 +51,7 @@ func TestChecksum(t *testing.T) {
{
desc: "zero",
expectedZero: true,
- expected: ObjectHashSHA1.ZeroOID.String(),
+ expected: ZeroChecksum,
},
{
desc: "single ref",
diff --git a/internal/gitaly/service/repository/calculate_checksum.go b/internal/gitaly/service/repository/calculate_checksum.go
index 6bff6e61d..78d99ccef 100644
--- a/internal/gitaly/service/repository/calculate_checksum.go
+++ b/internal/gitaly/service/repository/calculate_checksum.go
@@ -48,7 +48,7 @@ func (s *server) CalculateChecksum(ctx context.Context, in *gitalypb.CalculateCh
if err := cmd.Wait(); checksum.IsZero() || err != nil {
if s.isValidRepo(ctx, repo) {
- return &gitalypb.CalculateChecksumResponse{Checksum: git.ObjectHashSHA1.ZeroOID.String()}, nil
+ return &gitalypb.CalculateChecksumResponse{Checksum: git.ZeroChecksum}, nil
}
return nil, status.Errorf(codes.DataLoss, "CalculateChecksum: not a git repository '%s'", repoPath)
diff --git a/internal/gitaly/service/repository/calculate_checksum_test.go b/internal/gitaly/service/repository/calculate_checksum_test.go
index 7924ead17..4ff6b5ec0 100644
--- a/internal/gitaly/service/repository/calculate_checksum_test.go
+++ b/internal/gitaly/service/repository/calculate_checksum_test.go
@@ -51,7 +51,7 @@ func TestEmptyRepositoryCalculateChecksum(t *testing.T) {
response, err := client.CalculateChecksum(ctx, request)
require.NoError(t, err)
- require.Equal(t, git.ObjectHashSHA1.ZeroOID.String(), response.Checksum)
+ require.Equal(t, git.ZeroChecksum, response.Checksum)
}
func TestBrokenRepositoryCalculateChecksum(t *testing.T) {
@@ -125,5 +125,5 @@ func TestInvalidRefsCalculateChecksum(t *testing.T) {
response, err := client.CalculateChecksum(ctx, request)
require.NoError(t, err)
- require.Equal(t, git.ObjectHashSHA1.ZeroOID.String(), response.Checksum)
+ require.Equal(t, git.ZeroChecksum, response.Checksum)
}