cache-tree: convert write_*_as_tree to object_id

Convert write_index_as_tree and write_cache_as_tree to use struct object_id. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Mar 12, 2018 at 02:27 UTC fc5cb99f675b2052f6d6bd3e2520379031b12267
6 files changed +15 -15
builtin/am.c
+4 -4
@@ -1550,7 +1550,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
1550 discard_cache();
1551 read_cache_from(index_path);
1552
1553 - if (write_index_as_tree(orig_tree.hash, &the_index, index_path, 0, NULL))
1553 + if (write_index_as_tree(&orig_tree, &the_index, index_path, 0, NULL))
1554 return error(_("Repository lacks necessary blobs to fall back on 3-way merge."));
1555
1556 say(state, stdout, _("Using index info to reconstruct a base tree..."));
@@ -1575,7 +1575,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
1575 return error(_("Did you hand edit your patch?\n"
1576 "It does not apply to blobs recorded in its index."));
1577
1578 - if (write_index_as_tree(their_tree.hash, &the_index, index_path, 0, NULL))
1578 + if (write_index_as_tree(&their_tree, &the_index, index_path, 0, NULL))
1579 return error("could not write tree");
1580
1581 say(state, stdout, _("Falling back to patching base and 3-way merge..."));
@@ -1626,7 +1626,7 @@ static void do_commit(const struct am_state *state)
1626 if (run_hook_le(NULL, "pre-applypatch", NULL))
1627 exit(1);
1628
1629 - if (write_cache_as_tree(tree.hash, 0, NULL))
1629 + if (write_cache_as_tree(&tree, 0, NULL))
1630 die(_("git write-tree failed to write a tree"));
1631
1632 if (!get_oid_commit("HEAD", &parent)) {
@@ -2004,7 +2004,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem
2004 if (fast_forward_to(head_tree, head_tree, 1))
2005 return -1;
2006
2007 - if (write_cache_as_tree(index.hash, 0, NULL))
2007 + if (write_cache_as_tree(&index, 0, NULL))
2008 return -1;
2009
2010 index_tree = parse_tree_indirect(&index);
builtin/merge.c
+1 -1
@@ -639,7 +639,7 @@ static int read_tree_trivial(struct object_id *common, struct object_id *head,
639
640 static void write_tree_trivial(struct object_id *oid)
641 {
642 - if (write_cache_as_tree(oid->hash, 0, NULL))
642 + if (write_cache_as_tree(oid, 0, NULL))
643 die(_("git write-tree failed to write a tree"));
644 }
645
builtin/write-tree.c
+1 -1
@@ -38,7 +38,7 @@ int cmd_write_tree(int argc, const char **argv, const char *unused_prefix)
38 argc = parse_options(argc, argv, unused_prefix, write_tree_options,
39 write_tree_usage, 0);
40
41 - ret = write_cache_as_tree(oid.hash, flags, prefix);
41 + ret = write_cache_as_tree(&oid, flags, prefix);
42 switch (ret) {
43 case 0:
44 printf("%s\n", oid_to_hex(&oid));
cache-tree.c
+5 -5
@@ -599,7 +599,7 @@ static struct cache_tree *cache_tree_find(struct cache_tree *it, const char *pat
599 return it;
600 }
601
602 -int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, const char *index_path, int flags, const char *prefix)
602 +int write_index_as_tree(struct object_id *oid, struct index_state *index_state, const char *index_path, int flags, const char *prefix)
603 {
604 int entries, was_valid;
605 struct lock_file lock_file = LOCK_INIT;
@@ -640,19 +640,19 @@ int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, co
640 ret = WRITE_TREE_PREFIX_ERROR;
641 goto out;
642 }
643 - hashcpy(sha1, subtree->oid.hash);
643 + oidcpy(oid, &subtree->oid);
644 }
645 else
646 - hashcpy(sha1, index_state->cache_tree->oid.hash);
646 + oidcpy(oid, &index_state->cache_tree->oid);
647
648 out:
649 rollback_lock_file(&lock_file);
650 return ret;
651 }
652
653 -int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix)
653 +int write_cache_as_tree(struct object_id *oid, int flags, const char *prefix)
654 {
655 - return write_index_as_tree(sha1, &the_index, get_index_file(), flags, prefix);
655 + return write_index_as_tree(oid, &the_index, get_index_file(), flags, prefix);
656 }
657
658 static void prime_cache_tree_rec(struct cache_tree *it, struct tree *tree)
cache-tree.h
+2 -2
@@ -47,8 +47,8 @@ int update_main_cache_tree(int);
47 #define WRITE_TREE_UNMERGED_INDEX (-2)
48 #define WRITE_TREE_PREFIX_ERROR (-3)
49
50 -int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, const char *index_path, int flags, const char *prefix);
51 -int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix);
50 +int write_index_as_tree(struct object_id *oid, struct index_state *index_state, const char *index_path, int flags, const char *prefix);
51 +int write_cache_as_tree(struct object_id *oid, int flags, const char *prefix);
52 void prime_cache_tree(struct index_state *, struct tree *);
53
54 extern int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info);
sequencer.c
+2 -2
@@ -1113,7 +1113,7 @@ static int try_to_commit(struct strbuf *msg, const char *author,
1113 commit_list_insert(current_head, &parents);
1114 }
1115
1116 - if (write_cache_as_tree(tree.hash, 0, NULL)) {
1116 + if (write_cache_as_tree(&tree, 0, NULL)) {
1117 res = error(_("git write-tree failed to write a tree"));
1118 goto out;
1119 }
@@ -1475,7 +1475,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
1475 * that represents the "current" state for merge-recursive
1476 * to work on.
1477 */
1478 - if (write_cache_as_tree(head.hash, 0, NULL))
1478 + if (write_cache_as_tree(&head, 0, NULL))
1479 return error(_("your index file is unmerged."));
1480 } else {
1481 unborn = get_oid("HEAD", &head);