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

Function NewOdbBackendLoose

odb.go:96–114  ·  view source on GitHub ↗

NewOdbBackendLoose creates a backend for loose objects.

(objectsDir string, compressionLevel int, doFsync bool, dirMode os.FileMode, fileMode os.FileMode)

Source from the content-addressed store, hash-verified

94
95// NewOdbBackendLoose creates a backend for loose objects.
96func NewOdbBackendLoose(objectsDir string, compressionLevel int, doFsync bool, dirMode os.FileMode, fileMode os.FileMode) (backend *OdbBackend, err error) {
97 runtime.LockOSThread()
98 defer runtime.UnlockOSThread()
99
100 var odbLoose *C.git_odb_backend = nil
101 var doFsyncInt C.int
102 if doFsync {
103 doFsyncInt = C.int(1)
104 }
105
106 cstr := C.CString(objectsDir)
107 defer C.free(unsafe.Pointer(cstr))
108
109 ret := C.git_odb_backend_loose(&odbLoose, cstr, C.int(compressionLevel), doFsyncInt, C.uint(dirMode), C.uint(fileMode))
110 if ret < 0 {
111 return nil, MakeGitError(ret)
112 }
113 return NewOdbBackendFromC(unsafe.Pointer(odbLoose)), nil
114}
115
116func (v *Odb) ReadHeader(oid *Oid) (uint64, ObjectType, error) {
117 runtime.LockOSThread()

Callers 1

TestOdbBackendLooseFunction · 0.85

Calls 3

MakeGitErrorFunction · 0.85
NewOdbBackendFromCFunction · 0.85
freeMethod · 0.80

Tested by 1

TestOdbBackendLooseFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…