diff options
Diffstat (limited to 'object.go')
| -rw-r--r-- | object.go | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -22,6 +22,7 @@ type Object interface { Free() Id() *Oid Type() ObjectType + Owner() *Repository } type gitObject struct { @@ -55,6 +56,14 @@ func (o gitObject) Type() ObjectType { return ObjectType(C.git_object_type(o.ptr)) } +// Owner returns a weak reference to the repository which owns this +// object +func (o gitObject) Owner() *Repository { + return &Repository{ + ptr: C.git_object_owner(o.ptr), + } +} + func (o *gitObject) Free() { runtime.SetFinalizer(o, nil) C.git_object_free(o.ptr) |
