summaryrefslogtreecommitdiff
path: root/object.go
diff options
context:
space:
mode:
Diffstat (limited to 'object.go')
-rw-r--r--object.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/object.go b/object.go
index 762ad3d..bf0ca0e 100644
--- a/object.go
+++ b/object.go
@@ -77,14 +77,14 @@ func (o *Object) Type() ObjectType {
return ret
}
-// Owner returns a weak reference to the repository which owns this
-// object. This won't keep the underlying repository alive.
+// Owner returns a weak reference to the repository which owns this object.
+// This won't keep the underlying repository alive, but it should still be
+// Freed.
func (o *Object) Owner() *Repository {
- ret := &Repository{
- ptr: C.git_object_owner(o.ptr),
- }
+ repo := newRepositoryFromC(C.git_object_owner(o.ptr))
runtime.KeepAlive(o)
- return ret
+ repo.weak = true
+ return repo
}
func dupObject(obj *Object, kind ObjectType) (*C.git_object, error) {