diff options
Diffstat (limited to 'notes-cache.c')
-rw-r--r-- | notes-cache.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/notes-cache.c b/notes-cache.c index 398e61d5e9..2473314d68 100644 --- a/notes-cache.c +++ b/notes-cache.c @@ -1,9 +1,13 @@ #include "cache.h" #include "notes-cache.h" +#include "object-store.h" +#include "repository.h" #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; @@ -14,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(&oid, 1); + commit = lookup_commit_reference_gently(r, &oid, 1); if (!commit) return 0; @@ -28,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; @@ -38,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); @@ -77,7 +81,7 @@ char *notes_cache_get(struct notes_cache *c, struct object_id *key_oid, value_oid = get_note(&c->tree, key_oid); if (!value_oid) return NULL; - value = read_sha1_file(value_oid->hash, &type, &size); + value = read_object_file(value_oid, &type, &size); *outsize = size; return value; |