diff options
| author | lhchavez <[email protected]> | 2021-09-04 13:49:01 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-09-04 13:49:01 -0700 |
| commit | 15434610fec67e704d3ad443b03054d1611f98fe (patch) | |
| tree | 76d1416b98bfdd907f8cc5c13628fa5d0c9f145d /commit.go | |
| parent | be5a99a807beb2fd79dc0ca71b5a92611b1eda52 (diff) | |
Add `CreateCommitWithSignature` (#782)
This change adds the wrapper for `git_commit_create_with_signature`.
Diffstat (limited to 'commit.go')
| -rw-r--r-- | commit.go | 37 |
1 files changed, 4 insertions, 33 deletions
@@ -75,40 +75,11 @@ func (c *Commit) WithSignatureUsing(f CommitSigningCallback) (*Oid, error) { // WithSignature creates a new signed commit from the given signature and signature field func (c *Commit) WithSignature(signature string, signatureField string) (*Oid, error) { - totalCommit := c.ContentToSign() - - oid := new(Oid) - - var csf *C.char = nil - if signatureField != "" { - csf = C.CString(signatureField) - defer C.free(unsafe.Pointer(csf)) - } - - runtime.LockOSThread() - defer runtime.UnlockOSThread() - - cTotalCommit := C.CString(totalCommit) - cSignature := C.CString(signature) - defer C.free(unsafe.Pointer(cTotalCommit)) - defer C.free(unsafe.Pointer(cSignature)) - - ret := C.git_commit_create_with_signature( - oid.toC(), - c.Owner().ptr, - cTotalCommit, - cSignature, - csf, + return c.Owner().CreateCommitWithSignature( + c.ContentToSign(), + signature, + signatureField, ) - - runtime.KeepAlive(c) - runtime.KeepAlive(oid) - - if ret < 0 { - return nil, MakeGitError(ret) - } - - return oid, nil } func (c *Commit) ExtractSignature() (string, string, error) { |
