Git object database manager.
Manage reading and writing across several backends.
var odb = require('git-odb')
var db = odb()
db.add({
readable: maybe
, writable: maybe
, read: function(shaBuffer, ready) { }
, write: function(shaBuffer, object, ready) { }
}, readPreference, writePreference)
db.find(sha, function(err, obj) {
})
add a backend. if the backend is readable, add it to the list of read backends
using the readPreference
(the higher the earlier it will be read from).
if the backend is writable, add it to the list of write backends. only the backend at the front of the list will be used for writing.
remove the backend from reading and writing.
query all of the readable backends for an object matching shaBuffer
.
call the callback with err
if an error occurred in a backend, undefined
if the object wasn't found, or a {type: numericGitType, data: Buffer}
representing
the object.
save a new git object into this ODB using the write backend with the highest preference.
MIT