diff options
| author | lhchavez <[email protected]> | 2021-09-03 06:40:31 -0700 |
|---|---|---|
| committer | lhchavez <[email protected]> | 2021-09-05 18:52:01 -0700 |
| commit | 018647fd481a7eb4af97d5f61afc0fddfe76fc24 (patch) | |
| tree | 06f4af28f0298ffe4bd93d2061f7eb8c52518bc2 /reference.go | |
| parent | b78bde3d74b1617d5b635723552aaec0583eb054 (diff) | |
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.
Diffstat (limited to 'reference.go')
| -rw-r--r-- | reference.go | 14 |
1 files changed, 11 insertions, 3 deletions
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 ( |
