diff options
| author | Carlos Martín Nieto <[email protected]> | 2014-05-25 09:06:18 +0200 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2014-05-25 09:12:10 +0200 |
| commit | 2942e18d056d725aa847d77492a75391a670de5f (patch) | |
| tree | 56f80569a13584c33731cd2b51bfa363b7a89218 /object.go | |
| parent | ec97cb4473ead2d9111ba4a519f3eb87eb7fdc4f (diff) | |
Give Object and Reference an Onwer accessor
This reduces the need to carry around a pointer to the repository as
well as the objects.
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) |
