From 018647fd481a7eb4af97d5f61afc0fddfe76fc24 Mon Sep 17 00:00:00 2001 From: lhchavez Date: Fri, 3 Sep 2021 06:40:31 -0700 Subject: libgit2 v1.2.0 #major This commit introduces libgit2 v1.2.0 to git2go, which brings a large number of [bugfixes and features](https://github.com/libgit2/libgit2/releases/tag/v1.2.0). This also marks the start of the v32 release. --- reference.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'reference.go') diff --git a/reference.go b/reference.go index ae49c21..46e9b48 100644 --- a/reference.go +++ b/reference.go @@ -476,7 +476,7 @@ func (v *ReferenceIterator) Free() { C.git_reference_iterator_free(v.ptr) } -// ReferenceIsValidName returns whether the reference name is well-formed. +// ReferenceNameIsValid returns whether the reference name is well-formed. // // Valid reference names must follow one of two patterns: // @@ -486,11 +486,19 @@ func (v *ReferenceIterator) Free() { // 2. Names prefixed with "refs/" can be almost anything. You must avoid // the characters '~', '^', ':', ' \ ', '?', '[', and '*', and the sequences // ".." and " @ {" which have special meaning to revparse. -func ReferenceIsValidName(name string) bool { +func ReferenceNameIsValid(name string) (bool, error) { cname := C.CString(name) defer C.free(unsafe.Pointer(cname)) - return C.git_reference_is_valid_name(cname) == 1 + runtime.LockOSThread() + defer runtime.UnlockOSThread() + + var valid C.int + ret := C.git_reference_name_is_valid(&valid, cname) + if ret < 0 { + return false, MakeGitError(ret) + } + return valid == 1, nil } const ( -- cgit v1.2.3