summaryrefslogtreecommitdiff
path: root/reference.go
diff options
context:
space:
mode:
authorlhchavez <[email protected]>2020-02-23 15:08:45 +0000
committerlhchavez <[email protected]>2020-02-23 15:08:45 +0000
commit3c88bd9f1aebc53ea9d77937829f8c155aa834c3 (patch)
tree8556d00fb42f2fcab5ba748e49e21e1141b9d604 /reference.go
parentc75e0221d70bc471917aa3de34ca1ead1a747987 (diff)
parent21d618136f415486d95965e75af80c0e6688a0d5 (diff)
Merge remote-tracking branch 'upstream/master' into cherrypick-commit
Diffstat (limited to 'reference.go')
-rw-r--r--reference.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/reference.go b/reference.go
index e10c9b2..b5f5e47 100644
--- a/reference.go
+++ b/reference.go
@@ -284,7 +284,7 @@ func (v *Reference) Peel(t ObjectType) (*Object, error) {
runtime.LockOSThread()
defer runtime.UnlockOSThread()
- err := C.git_reference_peel(&cobj, v.ptr, C.git_otype(t))
+ err := C.git_reference_peel(&cobj, v.ptr, C.git_object_t(t))
runtime.KeepAlive(v)
if err < 0 {
return nil, MakeGitError(err)
@@ -301,7 +301,7 @@ func (v *Reference) Owner() *Repository {
}
}
-// Cmp compares both references, retursn 0 on equality, otherwise a
+// Cmp compares v to ref2. It returns 0 on equality, otherwise a
// stable sorting.
func (v *Reference) Cmp(ref2 *Reference) int {
ret := int(C.git_reference_cmp(v.ptr, ref2.ptr))
@@ -310,13 +310,14 @@ func (v *Reference) Cmp(ref2 *Reference) int {
return ret
}
-// Shorthand ret :=s a "human-readable" short reference name
+// Shorthand returns a "human-readable" short reference name.
func (v *Reference) Shorthand() string {
ret := C.GoString(C.git_reference_shorthand(v.ptr))
runtime.KeepAlive(v)
return ret
}
+// Name returns the full name of v.
func (v *Reference) Name() string {
ret := C.GoString(C.git_reference_name(v.ptr))
runtime.KeepAlive(v)
@@ -455,10 +456,12 @@ func (v *ReferenceIterator) Next() (*Reference, error) {
}
func newReferenceIteratorFromC(ptr *C.git_reference_iterator, r *Repository) *ReferenceIterator {
- return &ReferenceIterator{
+ iter := &ReferenceIterator{
ptr: ptr,
repo: r,
}
+ runtime.SetFinalizer(iter, (*ReferenceIterator).Free)
+ return iter
}
// Free the reference iterator