|
|
|
@ -5,7 +5,9 @@
@@ -5,7 +5,9 @@
|
|
|
|
|
#include "commit.h" |
|
|
|
|
#include "refs.h" |
|
|
|
|
|
|
|
|
|
static int notes_cache_match_validity(const char *ref, const char *validity) |
|
|
|
|
static int notes_cache_match_validity(struct repository *r, |
|
|
|
|
const char *ref, |
|
|
|
|
const char *validity) |
|
|
|
|
{ |
|
|
|
|
struct object_id oid; |
|
|
|
|
struct commit *commit; |
|
|
|
@ -16,7 +18,7 @@ static int notes_cache_match_validity(const char *ref, const char *validity)
@@ -16,7 +18,7 @@ static int notes_cache_match_validity(const char *ref, const char *validity)
|
|
|
|
|
if (read_ref(ref, &oid) < 0) |
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
|
commit = lookup_commit_reference_gently(the_repository, &oid, 1); |
|
|
|
|
commit = lookup_commit_reference_gently(r, &oid, 1); |
|
|
|
|
if (!commit) |
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
@ -30,8 +32,8 @@ static int notes_cache_match_validity(const char *ref, const char *validity)
@@ -30,8 +32,8 @@ static int notes_cache_match_validity(const char *ref, const char *validity)
|
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void notes_cache_init(struct notes_cache *c, const char *name, |
|
|
|
|
const char *validity) |
|
|
|
|
void notes_cache_init(struct repository *r, struct notes_cache *c, |
|
|
|
|
const char *name, const char *validity) |
|
|
|
|
{ |
|
|
|
|
struct strbuf ref = STRBUF_INIT; |
|
|
|
|
int flags = NOTES_INIT_WRITABLE; |
|
|
|
@ -40,7 +42,7 @@ void notes_cache_init(struct notes_cache *c, const char *name,
@@ -40,7 +42,7 @@ void notes_cache_init(struct notes_cache *c, const char *name,
|
|
|
|
|
c->validity = xstrdup(validity); |
|
|
|
|
|
|
|
|
|
strbuf_addf(&ref, "refs/notes/%s", name); |
|
|
|
|
if (!notes_cache_match_validity(ref.buf, validity)) |
|
|
|
|
if (!notes_cache_match_validity(r, ref.buf, validity)) |
|
|
|
|
flags |= NOTES_INIT_EMPTY; |
|
|
|
|
init_notes(&c->tree, ref.buf, combine_notes_overwrite, flags); |
|
|
|
|
strbuf_release(&ref); |
|
|
|
|