summaryrefslogtreecommitdiff
path: root/repository.go
diff options
context:
space:
mode:
authorJesse Ezell <[email protected]>2014-02-26 08:45:44 -0800
committerJesse Ezell <[email protected]>2014-02-26 08:45:44 -0800
commitbaf4a8433663f87e2732f9c2632a070221f166f2 (patch)
tree2e8ec293db11776d4f6dd448c6f426c8491bc864 /repository.go
parentfe509411a5e8bd45a1c5607d1cc212d8ebf45541 (diff)
parent1c1f7bd1fab3be4a1274149292979bea4ee8aadf (diff)
Merge branch 'master' of https://github.com/libgit2/git2go into add-branch-lookup
Diffstat (limited to 'repository.go')
-rw-r--r--repository.go55
1 files changed, 28 insertions, 27 deletions
diff --git a/repository.go b/repository.go
index 48c2b46..e78422e 100644
--- a/repository.go
+++ b/repository.go
@@ -26,7 +26,7 @@ func OpenRepository(path string) (*Repository, error) {
ret := C.git_repository_open(&repo.ptr, cpath)
if ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
runtime.SetFinalizer(repo, (*Repository).Free)
@@ -44,7 +44,7 @@ func InitRepository(path string, isbare bool) (*Repository, error) {
ret := C.git_repository_init(&repo.ptr, cpath, ucbool(isbare))
if ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
runtime.SetFinalizer(repo, (*Repository).Free)
@@ -64,7 +64,7 @@ func (v *Repository) Config() (*Config, error) {
ret := C.git_repository_config(&config.ptr, v.ptr)
if ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
runtime.SetFinalizer(config, (*Config).Free)
@@ -79,32 +79,32 @@ func (v *Repository) Index() (*Index, error) {
ret := C.git_repository_index(&ptr, v.ptr)
if ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
return newIndexFromC(ptr), nil
}
-func (v *Repository) lookupType(oid *Oid, t ObjectType) (Object, error) {
+func (v *Repository) lookupType(id *Oid, t ObjectType) (Object, error) {
var ptr *C.git_object
runtime.LockOSThread()
defer runtime.UnlockOSThread()
- ret := C.git_object_lookup(&ptr, v.ptr, oid.toC(), C.git_otype(t))
+ ret := C.git_object_lookup(&ptr, v.ptr, id.toC(), C.git_otype(t))
if ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
return allocObject(ptr), nil
}
-func (v *Repository) Lookup(oid *Oid) (Object, error) {
- return v.lookupType(oid, ObjectAny)
+func (v *Repository) Lookup(id *Oid) (Object, error) {
+ return v.lookupType(id, ObjectAny)
}
-func (v *Repository) LookupTree(oid *Oid) (*Tree, error) {
- obj, err := v.lookupType(oid, ObjectTree)
+func (v *Repository) LookupTree(id *Oid) (*Tree, error) {
+ obj, err := v.lookupType(id, ObjectTree)
if err != nil {
return nil, err
}
@@ -112,8 +112,8 @@ func (v *Repository) LookupTree(oid *Oid) (*Tree, error) {
return obj.(*Tree), nil
}
-func (v *Repository) LookupCommit(oid *Oid) (*Commit, error) {
- obj, err := v.lookupType(oid, ObjectCommit)
+func (v *Repository) LookupCommit(id *Oid) (*Commit, error) {
+ obj, err := v.lookupType(id, ObjectCommit)
if err != nil {
return nil, err
}
@@ -121,8 +121,8 @@ func (v *Repository) LookupCommit(oid *Oid) (*Commit, error) {
return obj.(*Commit), nil
}
-func (v *Repository) LookupBlob(oid *Oid) (*Blob, error) {
- obj, err := v.lookupType(oid, ObjectBlob)
+func (v *Repository) LookupBlob(id *Oid) (*Blob, error) {
+ obj, err := v.lookupType(id, ObjectBlob)
if err != nil {
return nil, err
}
@@ -140,13 +140,13 @@ func (v *Repository) LookupReference(name string) (*Reference, error) {
ecode := C.git_reference_lookup(&ptr, v.ptr, cname)
if ecode < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ecode)
}
return newReferenceFromC(ptr), nil
}
-func (v *Repository) CreateReference(name string, oid *Oid, force bool, sig *Signature, msg string) (*Reference, error) {
+func (v *Repository) CreateReference(name string, id *Oid, force bool, sig *Signature, msg string) (*Reference, error) {
cname := C.CString(name)
defer C.free(unsafe.Pointer(cname))
@@ -161,9 +161,9 @@ func (v *Repository) CreateReference(name string, oid *Oid, force bool, sig *Sig
runtime.LockOSThread()
defer runtime.UnlockOSThread()
- ecode := C.git_reference_create(&ptr, v.ptr, cname, oid.toC(), cbool(force), csig, cmsg)
+ ecode := C.git_reference_create(&ptr, v.ptr, cname, id.toC(), cbool(force), csig, cmsg)
if ecode < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ecode)
}
return newReferenceFromC(ptr), nil
@@ -189,7 +189,7 @@ func (v *Repository) CreateSymbolicReference(name, target string, force bool, si
ecode := C.git_reference_symbolic_create(&ptr, v.ptr, cname, ctarget, cbool(force), csig, cmsg)
if ecode < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ecode)
}
return newReferenceFromC(ptr), nil
@@ -203,7 +203,7 @@ func (v *Repository) Walk() (*RevWalk, error) {
ecode := C.git_revwalk_new(&walk.ptr, v.ptr)
if ecode < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ecode)
}
walk.repo = v
@@ -250,7 +250,7 @@ func (v *Repository) CreateCommit(
nil, cmsg, tree.ptr, C.size_t(nparents), parentsarg)
if ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
return oid, nil
@@ -268,7 +268,7 @@ func (v *Repository) Odb() (odb *Odb, err error) {
defer runtime.UnlockOSThread()
if ret := C.git_repository_odb(&odb.ptr, v.ptr); ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
runtime.SetFinalizer(odb, (*Odb).Free)
@@ -294,9 +294,10 @@ func (repo *Repository) SetWorkdir(workdir string, updateGitlink bool) error {
runtime.LockOSThread()
defer runtime.UnlockOSThread()
- if C.git_repository_set_workdir(repo.ptr, cstr, cbool(updateGitlink)) < 0 {
- return LastError()
+ if ret := C.git_repository_set_workdir(repo.ptr, cstr, cbool(updateGitlink)); ret < 0 {
+ return MakeGitError(ret)
}
+
return nil
}
@@ -307,7 +308,7 @@ func (v *Repository) TreeBuilder() (*TreeBuilder, error) {
defer runtime.UnlockOSThread()
if ret := C.git_treebuilder_create(&bld.ptr, nil); ret < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ret)
}
runtime.SetFinalizer(bld, (*TreeBuilder).Free)
@@ -326,7 +327,7 @@ func (v *Repository) RevparseSingle(spec string) (Object, error) {
ecode := C.git_revparse_single(&ptr, v.ptr, cspec)
if ecode < 0 {
- return nil, LastError()
+ return nil, MakeGitError(ecode)
}
return allocObject(ptr), nil