Commit 630c5a4a by Michael Schubert

notes: add git_note_default_ref()

Add git_note_default_ref to allow easy retrieval of the currently set
default notes reference.
parent caea5e54
...@@ -92,6 +92,16 @@ GIT_EXTERN(int) git_note_remove(git_repository *repo, const char *notes_ref, ...@@ -92,6 +92,16 @@ GIT_EXTERN(int) git_note_remove(git_repository *repo, const char *notes_ref,
*/ */
GIT_EXTERN(void) git_note_free(git_note *note); GIT_EXTERN(void) git_note_free(git_note *note);
/**
* Get the default notes reference for a repository
*
* @param out Pointer to the default notes reference
* @param repo The Git repository
*
* @return GIT_SUCCESS or an error code
*/
GIT_EXTERN(int) git_note_default_ref(const char **out, git_repository *repo);
/** @} */ /** @} */
GIT_END_DECL GIT_END_DECL
#endif #endif
...@@ -417,6 +417,12 @@ int git_note_remove(git_repository *repo, const char *notes_ref, ...@@ -417,6 +417,12 @@ int git_note_remove(git_repository *repo, const char *notes_ref,
return error; return error;
} }
int git_note_default_ref(const char **out, git_repository *repo)
{
assert(repo);
return note_get_default_ref(out, repo);
}
const char * git_note_message(git_note *note) const char * git_note_message(git_note *note)
{ {
assert(note); assert(note);
......
#include "clar_libgit2.h" #include "clar_libgit2.h"
#include "notes.h"
static git_repository *_repo; static git_repository *_repo;
static git_note *_note; static git_note *_note;
static git_signature *_sig; static git_signature *_sig;
...@@ -24,6 +26,7 @@ void test_notes_notesref__cleanup(void) ...@@ -24,6 +26,7 @@ void test_notes_notesref__cleanup(void)
void test_notes_notesref__config_corenotesref(void) void test_notes_notesref__config_corenotesref(void)
{ {
git_oid oid, note_oid; git_oid oid, note_oid;
const char *default_ref;
cl_git_pass(git_signature_now(&_sig, "alice", "alice@example.com")); cl_git_pass(git_signature_now(&_sig, "alice", "alice@example.com"));
cl_git_pass(git_oid_fromstr(&oid, "8496071c1b46c854b31185ea97743be6a8774479")); cl_git_pass(git_oid_fromstr(&oid, "8496071c1b46c854b31185ea97743be6a8774479"));
...@@ -43,4 +46,12 @@ void test_notes_notesref__config_corenotesref(void) ...@@ -43,4 +46,12 @@ void test_notes_notesref__config_corenotesref(void)
cl_git_pass(git_note_read(&_note, _repo, "refs/notes/mydefaultnotesref", &oid)); cl_git_pass(git_note_read(&_note, _repo, "refs/notes/mydefaultnotesref", &oid));
cl_assert(!strcmp(git_note_message(_note), "test123test\n")); cl_assert(!strcmp(git_note_message(_note), "test123test\n"));
cl_assert(!git_oid_cmp(git_note_oid(_note), &note_oid)); cl_assert(!git_oid_cmp(git_note_oid(_note), &note_oid));
cl_git_pass(git_note_default_ref(&default_ref, _repo));
cl_assert(!strcmp(default_ref, "refs/notes/mydefaultnotesref"));
cl_git_pass(git_config_delete(_cfg, "core.notesRef"));
cl_git_pass(git_note_default_ref(&default_ref, _repo));
cl_assert(!strcmp(default_ref, GIT_NOTES_DEFAULT_REF));
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment