Reference additions #228

Merged
clns merged 2 commits from ref-additions into next 2015-07-24 07:23:15 -05:00
2 changed files with 37 additions and 0 deletions
Showing only changes of commit 4b88210cbf - Show all commits

View File

@ -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)

View File

@ -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 {