diff options
author | Paulo Gomes <pjbgf@linux.com> | 2024-03-12 10:33:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-12 10:33:57 +0000 |
commit | 3f77e6f0292bdabb6368a42ef0f5fa925ed42f60 (patch) | |
tree | 8db501f37a122352ccb5a6120fe88b687e0d73c1 | |
parent | 6af38e000608a795320cd17c99491853f0b8ad3a (diff) | |
parent | d583a76f1c2240283e10949c3593eaa25232e860 (diff) | |
download | go-git-3f77e6f0292bdabb6368a42ef0f5fa925ed42f60.tar.gz |
Merge pull request #1048 from pjbgf/fix-reset-validation
git: Add commit validation for Reset
-rw-r--r-- | options.go | 5 | ||||
-rw-r--r-- | options_test.go | 6 |
2 files changed, 11 insertions, 0 deletions
@@ -427,6 +427,11 @@ func (o *ResetOptions) Validate(r *Repository) error { } o.Commit = ref.Hash() + } else { + _, err := r.CommitObject(o.Commit) + if err != nil { + return fmt.Errorf("invalid reset option: %w", err) + } } return nil diff --git a/options_test.go b/options_test.go index 171222c..677c317 100644 --- a/options_test.go +++ b/options_test.go @@ -23,6 +23,12 @@ func (s *OptionsSuite) TestCommitOptionsParentsFromHEAD(c *C) { c.Assert(o.Parents, HasLen, 1) } +func (s *OptionsSuite) TestResetOptionsCommitNotFound(c *C) { + o := ResetOptions{Commit: plumbing.NewHash("ab1b15c6f6487b4db16f10d8ec69bb8bf91dcabd")} + err := o.Validate(s.Repository) + c.Assert(err, NotNil) +} + func (s *OptionsSuite) TestCommitOptionsCommitter(c *C) { sig := &object.Signature{} |