MCPcopy Create free account
hub / github.com/libgit2/git2go / commitCreateCallback

Function commitCreateCallback

rebase.go:76–182  ·  view source on GitHub ↗

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,
)

Source from the content-addressed store, hash-verified

74
75//export commitCreateCallback
76func 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),

Callers 1

commit_create_callbackFunction · 0.85

Calls 7

MessageEncodingTypeAlias · 0.85
newSignatureFromCFunction · 0.85
setCallbackErrorFunction · 0.85
GetMethod · 0.80
CreateCommitBufferMethod · 0.80
toCMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…