summaryrefslogtreecommitdiff
path: root/repository.go
diff options
context:
space:
mode:
Diffstat (limited to 'repository.go')
-rw-r--r--repository.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/repository.go b/repository.go
index bfbd781..4cc8c5d 100644
--- a/repository.go
+++ b/repository.go
@@ -92,6 +92,17 @@ func (v *Repository) LookupCommit(o *Oid) (*Commit, error) {
return commit, nil
}
+func (v *Repository) LookupBlob(o *Oid) (*Blob, error) {
+ blob := new(Blob)
+ ecode := C.git_blob_lookup(&blob.ptr, v.ptr, o.toC())
+ if ecode < 0 {
+ return nil, LastError()
+ }
+
+ runtime.SetFinalizer(blob, (*Blob).Free)
+ return blob, nil
+}
+
func (v *Repository) Walk() (*RevWalk, error) {
walk := new(RevWalk)
ecode := C.git_revwalk_new(&walk.ptr, v.ptr)