On 05/01, brian m. carlson wrote: > Convert the sha1 member of struct cache_tree to struct object_id by > changing the definition and applying the following semantic patch, plus > the standard object_id transforms: > > @@ > struct cache_tree E1; > @@ > - E1.sha1 > + E1.oid.hash > > @@ > struct cache_tree *E1; > @@ > - E1->sha1 > + E1->oid.hash > > Fix up one reference to active_cache_tree which was not automatically > caught by Coccinelle. These changes are prerequisites for converting > parse_object. > > Signed-off-by: brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> > --- > builtin/commit.c | 2 +- > builtin/fsck.c | 4 ++-- > cache-tree.c | 31 ++++++++++++++++--------------- > cache-tree.h | 3 ++- > merge-recursive.c | 2 +- > revision.c | 2 +- > sequencer.c | 3 ++- > t/helper/test-dump-cache-tree.c | 4 ++-- > 8 files changed, 27 insertions(+), 24 deletions(-) > > diff --git a/builtin/commit.c b/builtin/commit.c > index 1d805f5da..8685c888f 100644 > --- a/builtin/commit.c > +++ b/builtin/commit.c > @@ -1758,7 +1758,7 @@ int cmd_commit(int argc, const char **argv, const char *prefix) > append_merge_tag_headers(parents, &tail); > } > > - if (commit_tree_extended(sb.buf, sb.len, active_cache_tree->sha1, > + if (commit_tree_extended(sb.buf, sb.len, active_cache_tree->oid.hash, > parents, oid.hash, author_ident.buf, sign_commit, extra)) { > rollback_index_files(); > die(_("failed to write commit object")); > diff --git a/builtin/fsck.c b/builtin/fsck.c > index b5e13a455..c40e14de6 100644 > --- a/builtin/fsck.c > +++ b/builtin/fsck.c > @@ -599,10 +599,10 @@ static int fsck_cache_tree(struct cache_tree *it) > fprintf(stderr, "Checking cache tree\n"); > > if (0 <= it->entry_count) { > - struct object *obj = parse_object(it->sha1); > + struct object *obj = parse_object(it->oid.hash); > if (!obj) { > error("%s: invalid sha1 pointer in cache-tree", > - sha1_to_hex(it->sha1)); > + oid_to_hex(&it->oid)); > errors_found |= ERROR_REFS; > return 1; > } > diff --git a/cache-tree.c b/cache-tree.c > index 345ea3596..35d507ed7 100644 > --- a/cache-tree.c > +++ b/cache-tree.c > @@ -225,7 +225,7 @@ int cache_tree_fully_valid(struct cache_tree *it) > int i; > if (!it) > return 0; > - if (it->entry_count < 0 || !has_sha1_file(it->sha1)) > + if (it->entry_count < 0 || !has_sha1_file(it->oid.hash)) > return 0; > for (i = 0; i < it->subtree_nr; i++) { > if (!cache_tree_fully_valid(it->down[i]->cache_tree)) > @@ -253,7 +253,7 @@ static int update_one(struct cache_tree *it, > > *skip_count = 0; > > - if (0 <= it->entry_count && has_sha1_file(it->sha1)) > + if (0 <= it->entry_count && has_sha1_file(it->oid.hash)) > return it->entry_count; > > /* > @@ -340,7 +340,7 @@ static int update_one(struct cache_tree *it, > die("cache-tree.c: '%.*s' in '%s' not found", > entlen, path + baselen, path); > i += sub->count; > - sha1 = sub->cache_tree->sha1; > + sha1 = sub->cache_tree->oid.hash; > mode = S_IFDIR; > contains_ita = sub->cache_tree->entry_count < 0; > if (contains_ita) { > @@ -402,12 +402,13 @@ static int update_one(struct cache_tree *it, > unsigned char sha1[20]; > hash_sha1_file(buffer.buf, buffer.len, tree_type, sha1); > if (has_sha1_file(sha1)) > - hashcpy(it->sha1, sha1); > + hashcpy(it->oid.hash, sha1); > else > to_invalidate = 1; > } else if (dryrun) > - hash_sha1_file(buffer.buf, buffer.len, tree_type, it->sha1); > - else if (write_sha1_file(buffer.buf, buffer.len, tree_type, it->sha1)) { > + hash_sha1_file(buffer.buf, buffer.len, tree_type, > + it->oid.hash); > + else if (write_sha1_file(buffer.buf, buffer.len, tree_type, it->oid.hash)) { > strbuf_release(&buffer); > return -1; > } > @@ -417,7 +418,7 @@ static int update_one(struct cache_tree *it, > #if DEBUG > fprintf(stderr, "cache-tree update-one (%d ent, %d subtree) %s\n", > it->entry_count, it->subtree_nr, > - sha1_to_hex(it->sha1)); > + oid_to_hex(&it->oid)); > #endif > return i; > } > @@ -457,14 +458,14 @@ static void write_one(struct strbuf *buffer, struct cache_tree *it, > if (0 <= it->entry_count) > fprintf(stderr, "cache-tree <%.*s> (%d ent, %d subtree) %s\n", > pathlen, path, it->entry_count, it->subtree_nr, > - sha1_to_hex(it->sha1)); > + oid_to_hex(&it->oid)); > else > fprintf(stderr, "cache-tree <%.*s> (%d subtree) invalid\n", > pathlen, path, it->subtree_nr); > #endif > > if (0 <= it->entry_count) { > - strbuf_add(buffer, it->sha1, 20); > + strbuf_add(buffer, it->oid.hash, 20); Should this 20 be converted to GIT_{SHA1,MAX}_RAWSZ? I know this is a generated patch so maybe this is addressed, or will be addressed later? -- Brandon Williams