summaryrefslogtreecommitdiff
path: root/repository.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2015-08-04 14:47:10 +0200
committerCarlos Martín Nieto <[email protected]>2015-08-04 14:47:10 +0200
commitb7159b0cd4b25ee3b1a8eb9e0d4991d297487a36 (patch)
tree0228b23ba724935ed417f4d3bf151fe4e28e2ae2 /repository.go
parent5d989f2caddad21d0296cd9a6a83cabce88858d5 (diff)
Move from an Object interface to a type
An Object should be about representing a libgit2 object rather than showing which methods it should support. Change any return of Object to *Object and provide methods to convert between this and the particular type.
Diffstat (limited to 'repository.go')
-rw-r--r--repository.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/repository.go b/repository.go
index 62fde6d..2e05780 100644
--- a/repository.go
+++ b/repository.go
@@ -145,7 +145,7 @@ func (v *Repository) Index() (*Index, error) {
return newIndexFromC(ptr), nil
}
-func (v *Repository) lookupType(id *Oid, t ObjectType) (Object, error) {
+func (v *Repository) lookupType(id *Oid, t ObjectType) (*Object, error) {
var ptr *C.git_object
runtime.LockOSThread()
@@ -159,7 +159,7 @@ func (v *Repository) lookupType(id *Oid, t ObjectType) (Object, error) {
return allocObject(ptr, v), nil
}
-func (v *Repository) Lookup(id *Oid) (Object, error) {
+func (v *Repository) Lookup(id *Oid) (*Object, error) {
return v.lookupType(id, ObjectAny)
}
@@ -169,7 +169,7 @@ func (v *Repository) LookupTree(id *Oid) (*Tree, error) {
return nil, err
}
- return obj.(*Tree), nil
+ return obj.AsTree()
}
func (v *Repository) LookupCommit(id *Oid) (*Commit, error) {
@@ -178,7 +178,7 @@ func (v *Repository) LookupCommit(id *Oid) (*Commit, error) {
return nil, err
}
- return obj.(*Commit), nil
+ return obj.AsCommit()
}
func (v *Repository) LookupBlob(id *Oid) (*Blob, error) {
@@ -187,7 +187,7 @@ func (v *Repository) LookupBlob(id *Oid) (*Blob, error) {
return nil, err
}
- return obj.(*Blob), nil
+ return obj.AsBlob()
}
func (v *Repository) LookupTag(id *Oid) (*Tag, error) {
@@ -196,7 +196,7 @@ func (v *Repository) LookupTag(id *Oid) (*Tag, error) {
return nil, err
}
- return obj.(*Tag), nil
+ return obj.AsTag()
}
func (v *Repository) Head() (*Reference, error) {