feat(commit): add base bindings and api

This commit is contained in:
Aleksey Kulikov 2021-08-24 19:08:12 +03:00
parent 696d55bb3a
commit dc5f510aa5
12 changed files with 485 additions and 17 deletions

View file

@ -97,19 +97,19 @@ class Index {
late final Oid oid;
late final Tree tree;
if (target is Oid) {
tree = Tree(bindings.owner(_indexPointer), target.pointer);
tree = Tree.lookup(bindings.owner(_indexPointer), target.pointer);
} else if (target is Tree) {
tree = target;
} else if (isValidShaHex(target as String)) {
if (target.length == 40) {
oid = Oid.fromSHA(target);
tree = Tree(bindings.owner(_indexPointer), oid.pointer);
tree = Tree.lookup(bindings.owner(_indexPointer), oid.pointer);
} else {
final shortOid = Oid.fromSHAn(target);
final odb = Odb(repo_bindings.odb(bindings.owner(_indexPointer)));
oid = Oid(odb.existsPrefix(shortOid.pointer, target.length));
odb.free();
tree = Tree(bindings.owner(_indexPointer), oid.pointer);
tree = Tree.lookup(bindings.owner(_indexPointer), oid.pointer);
}
} else {
throw ArgumentError.value(