Reference additions #228
|
@ -315,6 +315,11 @@ func (v *Reference) IsTag() bool {
|
||||||
return C.git_reference_is_tag(v.ptr) == 1
|
return C.git_reference_is_tag(v.ptr) == 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsNote checks if the reference is a note.
|
||||||
|
func (v *Reference) IsNote() bool {
|
||||||
|
return C.git_reference_is_note(v.ptr) == 1
|
||||||
|
}
|
||||||
|
|
||||||
func (v *Reference) Free() {
|
func (v *Reference) Free() {
|
||||||
runtime.SetFinalizer(v, nil)
|
runtime.SetFinalizer(v, nil)
|
||||||
C.git_reference_free(v.ptr)
|
C.git_reference_free(v.ptr)
|
||||||
|
|
|
@ -176,6 +176,38 @@ func TestUtil(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestIsNote(t *testing.T) {
|
||||||
|
repo := createTestRepo(t)
|
||||||
|
defer cleanupTestRepo(t, repo)
|
||||||
|
|
||||||
|
commitID, _ := seedTestRepo(t, repo)
|
||||||
|
|
||||||
|
sig := &Signature{
|
||||||
|
Name: "Rand Om Hacker",
|
||||||
|
Email: "random@hacker.com",
|
||||||
|
When: time.Now(),
|
||||||
|
}
|
||||||
|
|
||||||
|
refname, err := repo.Notes.DefaultRef()
|
||||||
|
checkFatal(t, err)
|
||||||
|
|
||||||
|
_, err = repo.Notes.Create(refname, sig, sig, commitID, "This is a note", false)
|
||||||
|
checkFatal(t, err)
|
||||||
|
|
||||||
|
ref, err := repo.References.Lookup(refname)
|
||||||
|
checkFatal(t, err)
|
||||||
|
|
||||||
|
if !ref.IsNote() {
|
||||||
|
t.Fatalf("%s should be a note", ref.Name())
|
||||||
|
}
|
||||||
|
|
||||||
|
ref, err = repo.References.Create("refs/heads/foo", commitID, true, "")
|
||||||
|
checkFatal(t, err)
|
||||||
|
|
||||||
|
if ref.IsNote() {
|
||||||
|
t.Fatalf("%s should not be a note", ref.Name())
|
||||||
|
}
|
||||||
|
}
|
||||||
func compareStringList(t *testing.T, expected, actual []string) {
|
func compareStringList(t *testing.T, expected, actual []string) {
|
||||||
for i, v := range expected {
|
for i, v := range expected {
|
||||||
if actual[i] != v {
|
if actual[i] != v {
|
||||||
|
|
Loading…
Reference in New Issue