diff options
author | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-07-18 13:33:46 +0300 |
---|---|---|
committer | Patrick Steinhardt <psteinhardt@gitlab.com> | 2022-07-20 07:39:11 +0300 |
commit | 879da72e1478b558246a8a81553a816b362bdad7 (patch) | |
tree | 072c4de69f0613965c13a8c56226ed3bb62ceded | |
parent | 1df3c350409a330bd35e5bd3da5baaa1b98a9e6f (diff) |
git: Move `NewObjectIDFromHex()` into `ObjectHash` structure
Move the `NewObjectIDFromHex()` function into the `ObjectHash` structure
to make it dependent on the hash function used.
31 files changed, 95 insertions, 83 deletions
diff --git a/internal/blackbox/blackbox.go b/internal/blackbox/blackbox.go index b7dca5547..f793fdb0a 100644 --- a/internal/blackbox/blackbox.go +++ b/internal/blackbox/blackbox.go @@ -198,12 +198,12 @@ func (b Blackbox) push(probe Probe) error { commands := make([]stats.PushCommand, len(probe.Push.Commands)) for i, command := range probe.Push.Commands { - oldOID, err := git.NewObjectIDFromHex(command.OldOID) + oldOID, err := git.ObjectHashSHA1.FromHex(command.OldOID) if err != nil { return fmt.Errorf("invalid old object ID for probe %q: %w", probe.Name, err) } - newOID, err := git.NewObjectIDFromHex(command.NewOID) + newOID, err := git.ObjectHashSHA1.FromHex(command.NewOID) if err != nil { return fmt.Errorf("invalid new object ID for probe %q: %w", probe.Name, err) } diff --git a/internal/git/catfile/object_info_reader.go b/internal/git/catfile/object_info_reader.go index 84857ce70..fda2c4ee4 100644 --- a/internal/git/catfile/object_info_reader.go +++ b/internal/git/catfile/object_info_reader.go @@ -75,7 +75,7 @@ restart: return nil, fmt.Errorf("invalid info line: %q", infoLine) } - oid, err := git.NewObjectIDFromHex(info[0]) + oid, err := git.ObjectHashSHA1.FromHex(info[0]) if err != nil { return nil, fmt.Errorf("parse object ID: %w", err) } diff --git a/internal/git/catfile/object_info_reader_test.go b/internal/git/catfile/object_info_reader_test.go index ab7d98a67..debe5562b 100644 --- a/internal/git/catfile/object_info_reader_test.go +++ b/internal/git/catfile/object_info_reader_test.go @@ -92,7 +92,7 @@ func TestObjectInfoReader(t *testing.T) { "refs/tags/v1.1.1", } { revParseOutput := gittest.Exec(t, cfg, "-C", repoPath, "rev-parse", revision) - objectID, err := git.NewObjectIDFromHex(text.ChompBytes(revParseOutput)) + objectID, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(revParseOutput)) require.NoError(t, err) objectType := text.ChompBytes(gittest.Exec(t, cfg, "-C", repoPath, "cat-file", "-t", revision)) diff --git a/internal/git/catfile/object_reader_test.go b/internal/git/catfile/object_reader_test.go index e4be10818..28da876f6 100644 --- a/internal/git/catfile/object_reader_test.go +++ b/internal/git/catfile/object_reader_test.go @@ -24,7 +24,7 @@ func TestObjectReader_reader(t *testing.T) { cfg, repoProto, repoPath := testcfg.BuildWithRepo(t) - commitID, err := git.NewObjectIDFromHex(text.ChompBytes(gittest.Exec(t, cfg, "-C", repoPath, "rev-parse", "refs/heads/master"))) + commitID, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(gittest.Exec(t, cfg, "-C", repoPath, "rev-parse", "refs/heads/master"))) require.NoError(t, err) commitContents := gittest.Exec(t, cfg, "-C", repoPath, "cat-file", "-p", "refs/heads/master") diff --git a/internal/git/gittest/objects.go b/internal/git/gittest/objects.go index f246e384b..f6c8b4c64 100644 --- a/internal/git/gittest/objects.go +++ b/internal/git/gittest/objects.go @@ -77,7 +77,7 @@ func WriteBlob(t testing.TB, cfg config.Cfg, testRepoPath string, contents []byt hex := text.ChompBytes(ExecOpts(t, cfg, ExecConfig{Stdin: bytes.NewReader(contents)}, "-C", testRepoPath, "hash-object", "-w", "--stdin", )) - oid, err := git.NewObjectIDFromHex(hex) + oid, err := NewObjectIDFromHex(hex) require.NoError(t, err) return oid } diff --git a/internal/git/gittest/ref.go b/internal/git/gittest/ref.go index bb1e5a104..e413ed9f5 100644 --- a/internal/git/gittest/ref.go +++ b/internal/git/gittest/ref.go @@ -18,7 +18,7 @@ func WriteRef(t testing.TB, cfg config.Cfg, repoPath string, ref git.ReferenceNa func ResolveRevision(t testing.TB, cfg config.Cfg, repoPath string, revision string) git.ObjectID { t.Helper() output := Exec(t, cfg, "-C", repoPath, "rev-parse", "--verify", revision) - objectID, err := git.NewObjectIDFromHex(text.ChompBytes(output)) + objectID, err := NewObjectIDFromHex(text.ChompBytes(output)) require.NoError(t, err) return objectID } diff --git a/internal/git/gittest/sha1.go b/internal/git/gittest/sha1.go index 631560e63..38fd11759 100644 --- a/internal/git/gittest/sha1.go +++ b/internal/git/gittest/sha1.go @@ -15,5 +15,5 @@ var initRepoExtraArgs = []string{} // representation of the object ID. Returns ErrInvalidObjectID if the given // OID is not valid. func NewObjectIDFromHex(hex string) (git.ObjectID, error) { - return git.NewObjectIDFromHex(hex) + return git.ObjectHashSHA1.FromHex(hex) } diff --git a/internal/git/gittest/tag.go b/internal/git/gittest/tag.go index ad720ac81..bc03b17b4 100644 --- a/internal/git/gittest/tag.go +++ b/internal/git/gittest/tag.go @@ -64,7 +64,7 @@ func WriteTag( tagID := Exec(t, cfg, "-C", repoPath, "show-ref", "-s", tagName) - objectID, err := git.NewObjectIDFromHex(text.ChompBytes(tagID)) + objectID, err := NewObjectIDFromHex(text.ChompBytes(tagID)) require.NoError(t, err) return objectID diff --git a/internal/git/gittest/tree.go b/internal/git/gittest/tree.go index 04fb99dc8..8ff19779a 100644 --- a/internal/git/gittest/tree.go +++ b/internal/git/gittest/tree.go @@ -55,7 +55,7 @@ func RequireTree(t testing.TB, cfg config.Cfg, repoPath, treeish string, expecte path := string(tabSplit[1]) - objectID, err := git.NewObjectIDFromHex(string(spaceSplit[2])) + objectID, err := NewObjectIDFromHex(string(spaceSplit[2])) require.NoError(t, err) actualEntries = append(actualEntries, TreeEntry{ @@ -107,7 +107,7 @@ func WriteTree(t testing.TB, cfg config.Cfg, repoPath string, entries []TreeEntr stdout := ExecOpts(t, cfg, ExecConfig{Stdin: &tree}, "-C", repoPath, "mktree", "-z", "--missing", ) - treeOID, err := git.NewObjectIDFromHex(text.ChompBytes(stdout)) + treeOID, err := NewObjectIDFromHex(text.ChompBytes(stdout)) require.NoError(t, err) return treeOID diff --git a/internal/git/localrepo/objects.go b/internal/git/localrepo/objects.go index 62a5fa9eb..56555f3a4 100644 --- a/internal/git/localrepo/objects.go +++ b/internal/git/localrepo/objects.go @@ -47,7 +47,7 @@ func (repo *Repo) WriteBlob(ctx context.Context, path string, content io.Reader) return "", errorWithStderr(err, stderr.Bytes()) } - oid, err := git.NewObjectIDFromHex(text.ChompBytes(stdout.Bytes())) + oid, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(stdout.Bytes())) if err != nil { return "", err } @@ -159,7 +159,7 @@ func (repo *Repo) WriteTag( return "", MktagError{tagName: tagName, stderr: stderr.String()} } - tagID, err := git.NewObjectIDFromHex(text.ChompBytes(stdout.Bytes())) + tagID, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(stdout.Bytes())) if err != nil { return "", fmt.Errorf("could not parse tag ID: %w", err) } diff --git a/internal/git/localrepo/refs.go b/internal/git/localrepo/refs.go index 60a807d23..492609d7a 100644 --- a/internal/git/localrepo/refs.go +++ b/internal/git/localrepo/refs.go @@ -57,7 +57,7 @@ func (repo *Repo) ResolveRevision(ctx context.Context, revision git.Revision) (g } hex := strings.TrimSpace(stdout.String()) - oid, err := git.NewObjectIDFromHex(hex) + oid, err := git.ObjectHashSHA1.FromHex(hex) if err != nil { return "", fmt.Errorf("unsupported object hash %q: %w", hex, err) } diff --git a/internal/git/lstree/parser.go b/internal/git/lstree/parser.go index d60a9e126..2a35df472 100644 --- a/internal/git/lstree/parser.go +++ b/internal/git/lstree/parser.go @@ -61,7 +61,7 @@ func (p *Parser) NextEntry() (*Entry, error) { return nil, err } - objectID, err := git.NewObjectIDFromHex(string(treeEntryID)) + objectID, err := git.ObjectHashSHA1.FromHex(string(treeEntryID)) if err != nil { return nil, err } diff --git a/internal/git/object_id.go b/internal/git/object_id.go index 5cc0095d7..0be8857c8 100644 --- a/internal/git/object_id.go +++ b/internal/git/object_id.go @@ -59,13 +59,6 @@ func (h ObjectHash) ValidateHex(hex string) error { // ObjectID represents an object ID. type ObjectID string -// NewObjectIDFromHex constructs a new ObjectID from the given hex -// representation of the object ID. Returns ErrInvalidObjectID if the given -// OID is not valid. -func NewObjectIDFromHex(hex string) (ObjectID, error) { - return ObjectHashSHA1.FromHex(hex) -} - // String returns the hex representation of the ObjectID. func (oid ObjectID) String() string { return string(oid) diff --git a/internal/git/object_id_test.go b/internal/git/object_id_test.go index 6a0ac6e85..62306d285 100644 --- a/internal/git/object_id_test.go +++ b/internal/git/object_id_test.go @@ -80,50 +80,69 @@ func TestObjectHash_ValidateHex(t *testing.T) { } } -func TestNewObjectIDFromHex(t *testing.T) { - for _, tc := range []struct { - desc string - oid string - valid bool +func TestObjectHash_FromHex(t *testing.T) { + for _, hash := range []struct { + desc string + hash ObjectHash + validHex string }{ { - desc: "valid object ID", - oid: "356e7793f9654d51dfb27312a1464062bceb9fa3", - valid: true, - }, - { - desc: "object ID with non-hex characters fails", - oid: "x56e7793f9654d51dfb27312a1464062bceb9fa3", - valid: false, - }, - { - desc: "object ID with upper-case letters fails", - oid: "356E7793F9654D51DFB27312A1464062BCEB9FA3", - valid: false, - }, - { - desc: "too short object ID fails", - oid: "356e7793f9654d51dfb27312a1464062bceb9fa", - valid: false, - }, - { - desc: "too long object ID fails", - oid: "356e7793f9654d51dfb27312a1464062bceb9fa33", - valid: false, + desc: "SHA1", + hash: ObjectHashSHA1, + validHex: "356e7793f9654d51dfb27312a1464062bceb9fa3", }, { - desc: "empty string fails", - oid: "", - valid: false, + desc: "SHA256", + hash: ObjectHashSHA256, + validHex: "aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f", }, } { - t.Run(tc.desc, func(t *testing.T) { - oid, err := NewObjectIDFromHex(tc.oid) - if tc.valid { - require.NoError(t, err) - require.Equal(t, tc.oid, oid.String()) - } else { - require.Error(t, err) + t.Run(hash.desc, func(t *testing.T) { + for _, tc := range []struct { + desc string + hex string + valid bool + }{ + { + desc: "valid object ID", + hex: hash.validHex, + valid: true, + }, + { + desc: "object ID with non-hex characters fails", + hex: "x" + hash.validHex[1:], + valid: false, + }, + { + desc: "object ID with upper-case letters fails", + hex: strings.ToUpper(hash.validHex), + valid: false, + }, + { + desc: "too short object ID fails", + hex: hash.validHex[:len(hash.validHex)-1], + valid: false, + }, + { + desc: "too long object ID fails", + hex: hash.validHex + "3", + valid: false, + }, + { + desc: "empty string fails", + hex: "", + valid: false, + }, + } { + t.Run(tc.desc, func(t *testing.T) { + oid, err := hash.hash.FromHex(tc.hex) + if tc.valid { + require.NoError(t, err) + require.Equal(t, tc.hex, oid.String()) + } else { + require.Error(t, err) + } + }) } }) } diff --git a/internal/git/remoterepo/repository.go b/internal/git/remoterepo/repository.go index caaec9aa6..fb3fe0273 100644 --- a/internal/git/remoterepo/repository.go +++ b/internal/git/remoterepo/repository.go @@ -52,7 +52,7 @@ func (rr *Repo) ResolveRevision(ctx context.Context, revision git.Revision) (git return "", git.ErrReferenceNotFound } - oid, err := git.NewObjectIDFromHex(oidHex) + oid, err := git.ObjectHashSHA1.FromHex(oidHex) if err != nil { return "", err } diff --git a/internal/git2go/apply.go b/internal/git2go/apply.go index 600890ca0..2bee12857 100644 --- a/internal/git2go/apply.go +++ b/internal/git2go/apply.go @@ -118,7 +118,7 @@ func (b *Executor) Apply(ctx context.Context, repo repository.GitRepo, params Ap return "", result.Err } - commitID, err := git.NewObjectIDFromHex(result.CommitID) + commitID, err := git.ObjectHashSHA1.FromHex(result.CommitID) if err != nil { return "", fmt.Errorf("could not parse commit ID: %w", err) } diff --git a/internal/git2go/commit.go b/internal/git2go/commit.go index 068125d5b..13edb4faa 100644 --- a/internal/git2go/commit.go +++ b/internal/git2go/commit.go @@ -80,7 +80,7 @@ func (b *Executor) Commit(ctx context.Context, repo repository.GitRepo, params C return "", result.Err } - commitID, err := git.NewObjectIDFromHex(result.CommitID) + commitID, err := git.ObjectHashSHA1.FromHex(result.CommitID) if err != nil { return "", fmt.Errorf("could not parse commit ID: %w", err) } diff --git a/internal/git2go/executor.go b/internal/git2go/executor.go index 264f34a56..7d8e728b5 100644 --- a/internal/git2go/executor.go +++ b/internal/git2go/executor.go @@ -124,7 +124,7 @@ func (b *Executor) runWithGob(ctx context.Context, repo repository.GitRepo, cmd return "", fmt.Errorf("%s: %w", cmd, result.Err) } - commitID, err := git.NewObjectIDFromHex(result.CommitID) + commitID, err := git.ObjectHashSHA1.FromHex(result.CommitID) if err != nil { return "", fmt.Errorf("could not parse commit ID: %w", err) } diff --git a/internal/gitaly/service/conflicts/resolve_conflicts.go b/internal/gitaly/service/conflicts/resolve_conflicts.go index c6984586d..11de0412f 100644 --- a/internal/gitaly/service/conflicts/resolve_conflicts.go +++ b/internal/gitaly/service/conflicts/resolve_conflicts.go @@ -192,7 +192,7 @@ func (s *server) resolveConflicts(header *gitalypb.ResolveConflictsRequestHeader return err } - commitOID, err := git.NewObjectIDFromHex(result.CommitID) + commitOID, err := git.ObjectHashSHA1.FromHex(result.CommitID) if err != nil { return err } diff --git a/internal/gitaly/service/operations/apply_patch.go b/internal/gitaly/service/operations/apply_patch.go index b39704893..3829dbeb8 100644 --- a/internal/gitaly/service/operations/apply_patch.go +++ b/internal/gitaly/service/operations/apply_patch.go @@ -169,7 +169,7 @@ func (s *Server) userApplyPatch(ctx context.Context, header *gitalypb.UserApplyP return fmt.Errorf("get patched commit: %w", gitError{ErrMsg: revParseStderr.String(), Err: err}) } - patchedCommit, err := git.NewObjectIDFromHex(text.ChompBytes(revParseStdout.Bytes())) + patchedCommit, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(revParseStdout.Bytes())) if err != nil { return fmt.Errorf("parse patched commit oid: %w", err) } diff --git a/internal/gitaly/service/operations/branches.go b/internal/gitaly/service/operations/branches.go index 02a25649c..41f63e233 100644 --- a/internal/gitaly/service/operations/branches.go +++ b/internal/gitaly/service/operations/branches.go @@ -44,7 +44,7 @@ func (s *Server) UserCreateBranch(ctx context.Context, req *gitalypb.UserCreateB return nil, status.Errorf(codes.FailedPrecondition, "revspec '%s' not found", req.StartPoint) } - startPointOID, err := git.NewObjectIDFromHex(startPointCommit.Id) + startPointOID, err := git.ObjectHashSHA1.FromHex(startPointCommit.Id) if err != nil { return nil, status.Errorf(codes.Internal, "could not parse start point commit ID: %v", err) } @@ -108,12 +108,12 @@ func (s *Server) UserUpdateBranch(ctx context.Context, req *gitalypb.UserUpdateB return nil, err } - newOID, err := git.NewObjectIDFromHex(string(req.Newrev)) + newOID, err := git.ObjectHashSHA1.FromHex(string(req.Newrev)) if err != nil { return nil, status.Errorf(codes.Internal, "could not parse newrev: %v", err) } - oldOID, err := git.NewObjectIDFromHex(string(req.Oldrev)) + oldOID, err := git.ObjectHashSHA1.FromHex(string(req.Oldrev)) if err != nil { return nil, status.Errorf(codes.Internal, "could not parse oldrev: %v", err) } diff --git a/internal/gitaly/service/operations/cherry_pick_test.go b/internal/gitaly/service/operations/cherry_pick_test.go index 923fdd23a..ccc8bc6e9 100644 --- a/internal/gitaly/service/operations/cherry_pick_test.go +++ b/internal/gitaly/service/operations/cherry_pick_test.go @@ -646,7 +646,7 @@ func testServerUserCherryPickQuarantine(t *testing.T, ctx context.Context) { } hookOutput := testhelper.MustReadFile(t, outputPath) - oid, err := git.NewObjectIDFromHex(text.ChompBytes(hookOutput)) + oid, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(hookOutput)) require.NoError(t, err) exists, err := repo.HasRevision(ctx, oid.Revision()+"^{commit}") require.NoError(t, err) diff --git a/internal/gitaly/service/operations/commit_files.go b/internal/gitaly/service/operations/commit_files.go index a1e4b2ad1..f5486abf2 100644 --- a/internal/gitaly/service/operations/commit_files.go +++ b/internal/gitaly/service/operations/commit_files.go @@ -161,7 +161,7 @@ func (s *Server) userCommitFiles(ctx context.Context, header *gitalypb.UserCommi return fmt.Errorf("resolve parent commit: %w", err) } } else { - parentCommitOID, err = git.NewObjectIDFromHex(header.StartSha) + parentCommitOID, err = git.ObjectHashSHA1.FromHex(header.StartSha) if err != nil { return helper.ErrInvalidArgumentf("cannot resolve parent commit: %w", err) } diff --git a/internal/gitaly/service/operations/commit_files_test.go b/internal/gitaly/service/operations/commit_files_test.go index b1643333e..24bed724c 100644 --- a/internal/gitaly/service/operations/commit_files_test.go +++ b/internal/gitaly/service/operations/commit_files_test.go @@ -1016,7 +1016,7 @@ func TestUserCommitFilesQuarantine(t *testing.T) { require.NoError(t, err) hookOutput := testhelper.MustReadFile(t, outputPath) - oid, err := git.NewObjectIDFromHex(text.ChompBytes(hookOutput)) + oid, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(hookOutput)) require.NoError(t, err) exists, err := repo.HasRevision(ctx, oid.Revision()+"^{commit}") require.NoError(t, err) diff --git a/internal/gitaly/service/operations/merge.go b/internal/gitaly/service/operations/merge.go index cfcf137b8..7fe726abb 100644 --- a/internal/gitaly/service/operations/merge.go +++ b/internal/gitaly/service/operations/merge.go @@ -116,7 +116,7 @@ func (s *Server) UserMergeBranch(stream gitalypb.OperationService_UserMergeBranc return helper.ErrInternal(err) } - mergeOID, err := git.NewObjectIDFromHex(merge.CommitID) + mergeOID, err := git.ObjectHashSHA1.FromHex(merge.CommitID) if err != nil { return helper.ErrInternalf("could not parse merge ID: %w", err) } @@ -256,7 +256,7 @@ func (s *Server) UserFFBranch(ctx context.Context, in *gitalypb.UserFFBranchRequ return nil, helper.ErrInvalidArgument(err) } - commitID, err := git.NewObjectIDFromHex(in.CommitId) + commitID, err := git.ObjectHashSHA1.FromHex(in.CommitId) if err != nil { return nil, helper.ErrInvalidArgumentf("cannot parse commit ID: %w", err) } @@ -365,7 +365,7 @@ func (s *Server) UserMergeToRef(ctx context.Context, request *gitalypb.UserMerge return nil, helper.ErrFailedPreconditionf("target reference is symbolic: %q", request.TargetRef) } - oid, err := git.NewObjectIDFromHex(targetRef.Target) + oid, err := git.ObjectHashSHA1.FromHex(targetRef.Target) if err != nil { return nil, helper.ErrInternalf("invalid target revision: %v", err) } @@ -404,7 +404,7 @@ func (s *Server) UserMergeToRef(ctx context.Context, request *gitalypb.UserMerge sourceOID, oid, string(request.TargetRef)) } - mergeOID, err := git.NewObjectIDFromHex(merge.CommitID) + mergeOID, err := git.ObjectHashSHA1.FromHex(merge.CommitID) if err != nil { return nil, err } diff --git a/internal/gitaly/service/operations/merge_test.go b/internal/gitaly/service/operations/merge_test.go index 8eebfbce6..034d7aee8 100644 --- a/internal/gitaly/service/operations/merge_test.go +++ b/internal/gitaly/service/operations/merge_test.go @@ -170,7 +170,7 @@ func TestUserMergeBranch_quarantine(t *testing.T) { ), err) require.Nil(t, secondResponse) - oid, err := git.NewObjectIDFromHex(strings.TrimSpace(firstResponse.CommitId)) + oid, err := git.ObjectHashSHA1.FromHex(strings.TrimSpace(firstResponse.CommitId)) require.NoError(t, err) exists, err := repo.HasRevision(ctx, oid.Revision()+"^{commit}") require.NoError(t, err) diff --git a/internal/gitaly/service/operations/rebase.go b/internal/gitaly/service/operations/rebase.go index 1ab3458e8..4edfe2863 100644 --- a/internal/gitaly/service/operations/rebase.go +++ b/internal/gitaly/service/operations/rebase.go @@ -44,7 +44,7 @@ func (s *Server) UserRebaseConfirmable(stream gitalypb.OperationService_UserReba } branch := git.NewReferenceNameFromBranchName(string(header.Branch)) - oldrev, err := git.NewObjectIDFromHex(header.BranchSha) + oldrev, err := git.ObjectHashSHA1.FromHex(header.BranchSha) if err != nil { return helper.ErrNotFound(err) } diff --git a/internal/gitaly/service/operations/revert_test.go b/internal/gitaly/service/operations/revert_test.go index bb1242bc6..d829d9db9 100644 --- a/internal/gitaly/service/operations/revert_test.go +++ b/internal/gitaly/service/operations/revert_test.go @@ -210,7 +210,7 @@ func TestServer_UserRevert_quarantine(t *testing.T) { require.NotEmpty(t, response.PreReceiveError) hookOutput := testhelper.MustReadFile(t, outputPath) - oid, err := git.NewObjectIDFromHex(text.ChompBytes(hookOutput)) + oid, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(hookOutput)) require.NoError(t, err) exists, err := repo.HasRevision(ctx, oid.Revision()+"^{commit}") require.NoError(t, err) diff --git a/internal/gitaly/service/operations/submodules.go b/internal/gitaly/service/operations/submodules.go index 462e09fad..aae4b9be5 100644 --- a/internal/gitaly/service/operations/submodules.go +++ b/internal/gitaly/service/operations/submodules.go @@ -138,7 +138,7 @@ func (s *Server) userUpdateSubmodule(ctx context.Context, req *gitalypb.UserUpda return nil, fmt.Errorf("%s: submodule subcommand: %w", userUpdateSubmoduleName, err) } - commitID, err := git.NewObjectIDFromHex(result.CommitID) + commitID, err := git.ObjectHashSHA1.FromHex(result.CommitID) if err != nil { return nil, helper.ErrInvalidArgumentf("cannot parse commit ID: %w", err) } diff --git a/internal/gitaly/service/operations/submodules_test.go b/internal/gitaly/service/operations/submodules_test.go index 009186512..9944c7801 100644 --- a/internal/gitaly/service/operations/submodules_test.go +++ b/internal/gitaly/service/operations/submodules_test.go @@ -179,7 +179,7 @@ func TestUserUpdateSubmoduleQuarantine(t *testing.T) { require.NotEmpty(t, response.GetPreReceiveError()) hookOutput := testhelper.MustReadFile(t, outputPath) - oid, err := git.NewObjectIDFromHex(text.ChompBytes(hookOutput)) + oid, err := git.ObjectHashSHA1.FromHex(text.ChompBytes(hookOutput)) require.NoError(t, err) exists, err := repo.HasRevision(ctx, oid.Revision()+"^{commit}") require.NoError(t, err) diff --git a/internal/gitaly/service/smarthttp/upload_pack_test.go b/internal/gitaly/service/smarthttp/upload_pack_test.go index cf6590bd2..35843932f 100644 --- a/internal/gitaly/service/smarthttp/upload_pack_test.go +++ b/internal/gitaly/service/smarthttp/upload_pack_test.go @@ -83,7 +83,7 @@ func testServerPostUpload(t *testing.T, ctx context.Context, makeRequest request testcfg.BuildGitalyHooks(t, cfg) - oldCommit, err := git.NewObjectIDFromHex("1e292f8fedd741b75372e19097c76d327140c312") // refs/heads/master + oldCommit, err := git.ObjectHashSHA1.FromHex("1e292f8fedd741b75372e19097c76d327140c312") // refs/heads/master require.NoError(t, err) newCommit := gittest.WriteCommit(t, cfg, repoPath, gittest.WithBranch("master"), gittest.WithParents(oldCommit)) @@ -454,7 +454,7 @@ func testServerPostUploadPackPartialClone(t *testing.T, ctx context.Context, mak testcfg.BuildGitalyHooks(t, cfg) - oldCommit, err := git.NewObjectIDFromHex("1e292f8fedd741b75372e19097c76d327140c312") // refs/heads/master + oldCommit, err := git.ObjectHashSHA1.FromHex("1e292f8fedd741b75372e19097c76d327140c312") // refs/heads/master require.NoError(t, err) newCommit := gittest.WriteCommit(t, cfg, repoPath, gittest.WithBranch("master"), gittest.WithParents(oldCommit)) |