Re: [PATCH 13/53] notes-cache: convert to struct object_id

2017-04-24 Thread Stefan Beller
On Sun, Apr 23, 2017 at 2:34 PM, brian m. carlson
 wrote:
> Convert as many instances of unsigned char [20] as possible,  Update the

s/Update/update/ or s/,/./

Side remark: In all patches up to now you put a space between the char and
the [20] (or [40]), which is irritating to read (for me). I presume
putting it adjacent
to the char would offend others as that would violate our coding
style. So having
the whitespace in between "char" and the array makes sense.

Up and including this patch looks good.

Thanks,
Stefan


[PATCH 13/53] notes-cache: convert to struct object_id

2017-04-23 Thread brian m. carlson
Convert as many instances of unsigned char [20] as possible,  Update the
callers of notes_cache_get and notes_cache_put to use the new interface.
Among the functions updated are callers of
lookup_commit_reference_gently, which we will soon convert.

Signed-off-by: brian m. carlson 
---
 diff.c|  4 ++--
 notes-cache.c | 29 ++---
 notes-cache.h |  4 ++--
 3 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/diff.c b/diff.c
index 11eef1c85..3bd23ae4c 100644
--- a/diff.c
+++ b/diff.c
@@ -5244,7 +5244,7 @@ size_t fill_textconv(struct userdiff_driver *driver,
 
if (driver->textconv_cache && df->oid_valid) {
*outbuf = notes_cache_get(driver->textconv_cache,
- df->oid.hash,
+ &df->oid,
  &size);
if (*outbuf)
return size;
@@ -5256,7 +5256,7 @@ size_t fill_textconv(struct userdiff_driver *driver,
 
if (driver->textconv_cache && df->oid_valid) {
/* ignore errors, as we might be in a readonly repository */
-   notes_cache_put(driver->textconv_cache, df->oid.hash, *outbuf,
+   notes_cache_put(driver->textconv_cache, &df->oid, *outbuf,
size);
/*
 * we could save up changes and flush them all at the end,
diff --git a/notes-cache.c b/notes-cache.c
index 5dfc5cbd0..1cdd4984a 100644
--- a/notes-cache.c
+++ b/notes-cache.c
@@ -5,16 +5,16 @@
 
 static int notes_cache_match_validity(const char *ref, const char *validity)
 {
-   unsigned char sha1[20];
+   struct object_id oid;
struct commit *commit;
struct pretty_print_context pretty_ctx;
struct strbuf msg = STRBUF_INIT;
int ret;
 
-   if (read_ref(ref, sha1) < 0)
+   if (read_ref(ref, oid.hash) < 0)
return 0;
 
-   commit = lookup_commit_reference_gently(sha1, 1);
+   commit = lookup_commit_reference_gently(oid.hash, 1);
if (!commit)
return 0;
 
@@ -46,8 +46,7 @@ void notes_cache_init(struct notes_cache *c, const char *name,
 
 int notes_cache_write(struct notes_cache *c)
 {
-   unsigned char tree_sha1[20];
-   unsigned char commit_sha1[20];
+   struct object_id tree_oid, commit_oid;
 
if (!c || !c->tree.initialized || !c->tree.update_ref ||
!*c->tree.update_ref)
@@ -55,19 +54,19 @@ int notes_cache_write(struct notes_cache *c)
if (!c->tree.dirty)
return 0;
 
-   if (write_notes_tree(&c->tree, tree_sha1))
+   if (write_notes_tree(&c->tree, tree_oid.hash))
return -1;
-   if (commit_tree(c->validity, strlen(c->validity), tree_sha1, NULL,
-   commit_sha1, NULL, NULL) < 0)
+   if (commit_tree(c->validity, strlen(c->validity), tree_oid.hash, NULL,
+   commit_oid.hash, NULL, NULL) < 0)
return -1;
-   if (update_ref("update notes cache", c->tree.update_ref, commit_sha1,
+   if (update_ref("update notes cache", c->tree.update_ref, 
commit_oid.hash,
   NULL, 0, UPDATE_REFS_QUIET_ON_ERR) < 0)
return -1;
 
return 0;
 }
 
-char *notes_cache_get(struct notes_cache *c, unsigned char key_sha1[20],
+char *notes_cache_get(struct notes_cache *c, struct object_id *key_oid,
  size_t *outsize)
 {
const unsigned char *value_sha1;
@@ -75,7 +74,7 @@ char *notes_cache_get(struct notes_cache *c, unsigned char 
key_sha1[20],
char *value;
unsigned long size;
 
-   value_sha1 = get_note(&c->tree, key_sha1);
+   value_sha1 = get_note(&c->tree, key_oid->hash);
if (!value_sha1)
return NULL;
value = read_sha1_file(value_sha1, &type, &size);
@@ -84,12 +83,12 @@ char *notes_cache_get(struct notes_cache *c, unsigned char 
key_sha1[20],
return value;
 }
 
-int notes_cache_put(struct notes_cache *c, unsigned char key_sha1[20],
+int notes_cache_put(struct notes_cache *c, struct object_id *key_oid,
const char *data, size_t size)
 {
-   unsigned char value_sha1[20];
+   struct object_id value_oid;
 
-   if (write_sha1_file(data, size, "blob", value_sha1) < 0)
+   if (write_sha1_file(data, size, "blob", value_oid.hash) < 0)
return -1;
-   return add_note(&c->tree, key_sha1, value_sha1, NULL);
+   return add_note(&c->tree, key_oid->hash, value_oid.hash, NULL);
 }
diff --git a/notes-cache.h b/notes-cache.h
index 356f88fb3..a8409 100644
--- a/notes-cache.h
+++ b/notes-cache.h
@@ -12,9 +12,9 @@ void notes_cache_init(struct notes_cache *c, const char *name,
 const char *validity);
 int notes_cache_write(struct notes_cache *c);
 
-char *notes_cache_get(struct notes_cache *c, unsigned char sha1[20], size_t
+char *notes_cache_get(str