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

Function NewIndexer

indexer.go:29–53  ·  view source on GitHub ↗

NewIndexer creates a new indexer instance.

(packfilePath string, odb *Odb, callback TransferProgressCallback)

Source from the content-addressed store, hash-verified

27
28// NewIndexer creates a new indexer instance.
29func NewIndexer(packfilePath string, odb *Odb, callback TransferProgressCallback) (indexer *Indexer, err error) {
30 var odbPtr *C.git_odb = nil
31 if odb != nil {
32 odbPtr = odb.ptr
33 }
34
35 indexer = new(Indexer)
36 populateRemoteCallbacks(&indexer.ccallbacks, &RemoteCallbacks{TransferProgressCallback: callback}, nil)
37
38 runtime.LockOSThread()
39 defer runtime.UnlockOSThread()
40
41 cstr := C.CString(packfilePath)
42 defer C.free(unsafe.Pointer(cstr))
43
44 ret := C._go_git_indexer_new(&indexer.ptr, cstr, 0, odbPtr, indexer.ccallbacks.payload)
45 runtime.KeepAlive(odb)
46 if ret < 0 {
47 untrackCallbacksPayload(&indexer.ccallbacks)
48 return nil, MakeGitError(ret)
49 }
50
51 runtime.SetFinalizer(indexer, (*Indexer).Free)
52 return indexer, nil
53}
54
55// Write adds data to the indexer.
56func (indexer *Indexer) Write(data []byte) (int, error) {

Callers 1

TestIndexerOutOfOrderFunction · 0.85

Calls 4

populateRemoteCallbacksFunction · 0.85
untrackCallbacksPayloadFunction · 0.85
MakeGitErrorFunction · 0.85
freeMethod · 0.80

Tested by 1

TestIndexerOutOfOrderFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…