export commitCreateCallback
( errorMessage **C.char, _out *C.git_oid, _author, _committer *C.git_signature, _message_encoding, _message *C.char, _tree *C.git_tree, _parent_count C.size_t, _parents **C.git_commit, handle unsafe.Pointer, )
| 74 | |
| 75 | //export commitCreateCallback |
| 76 | func commitCreateCallback( |
| 77 | errorMessage **C.char, |
| 78 | _out *C.git_oid, |
| 79 | _author, _committer *C.git_signature, |
| 80 | _message_encoding, _message *C.char, |
| 81 | _tree *C.git_tree, |
| 82 | _parent_count C.size_t, |
| 83 | _parents **C.git_commit, |
| 84 | handle unsafe.Pointer, |
| 85 | ) C.int { |
| 86 | data, ok := pointerHandles.Get(handle).(*rebaseOptionsData) |
| 87 | if !ok { |
| 88 | panic("invalid sign payload") |
| 89 | } |
| 90 | |
| 91 | if data.options.CommitCreateCallback == nil && data.options.CommitSigningCallback == nil { |
| 92 | return C.int(ErrorCodePassthrough) |
| 93 | } |
| 94 | |
| 95 | messageEncoding := MessageEncodingUTF8 |
| 96 | if _message_encoding != nil { |
| 97 | messageEncoding = MessageEncoding(C.GoString(_message_encoding)) |
| 98 | } |
| 99 | tree := &Tree{ |
| 100 | Object: Object{ |
| 101 | ptr: (*C.git_object)(_tree), |
| 102 | repo: data.repo, |
| 103 | }, |
| 104 | cast_ptr: _tree, |
| 105 | } |
| 106 | |
| 107 | var goParents []*C.git_commit |
| 108 | if _parent_count > 0 { |
| 109 | hdr := reflect.SliceHeader{ |
| 110 | Data: uintptr(unsafe.Pointer(_parents)), |
| 111 | Len: int(_parent_count), |
| 112 | Cap: int(_parent_count), |
| 113 | } |
| 114 | goParents = *(*[]*C.git_commit)(unsafe.Pointer(&hdr)) |
| 115 | } |
| 116 | |
| 117 | parents := make([]*Commit, int(_parent_count)) |
| 118 | for i, p := range goParents { |
| 119 | parents[i] = &Commit{ |
| 120 | Object: Object{ |
| 121 | ptr: (*C.git_object)(p), |
| 122 | repo: data.repo, |
| 123 | }, |
| 124 | cast_ptr: p, |
| 125 | } |
| 126 | } |
| 127 | |
| 128 | if data.options.CommitCreateCallback != nil { |
| 129 | oid, err := data.options.CommitCreateCallback( |
| 130 | newSignatureFromC(_author), |
| 131 | newSignatureFromC(_committer), |
| 132 | messageEncoding, |
| 133 | C.GoString(_message), |
no test coverage detected
searching dependent graphs…