Browse Source

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>
maint
brian m. carlson 7 years ago committed by Junio C Hamano
parent
commit
fc5cb99f67
  1. 8
      builtin/am.c
  2. 2
      builtin/merge.c
  3. 2
      builtin/write-tree.c
  4. 10
      cache-tree.c
  5. 4
      cache-tree.h
  6. 4
      sequencer.c

8
builtin/am.c

@ -1550,7 +1550,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa @@ -1550,7 +1550,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
discard_cache();
read_cache_from(index_path);

if (write_index_as_tree(orig_tree.hash, &the_index, index_path, 0, NULL))
if (write_index_as_tree(&orig_tree, &the_index, index_path, 0, NULL))
return error(_("Repository lacks necessary blobs to fall back on 3-way merge."));

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,7 +1575,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa
return error(_("Did you hand edit your patch?\n"
"It does not apply to blobs recorded in its index."));

if (write_index_as_tree(their_tree.hash, &the_index, index_path, 0, NULL))
if (write_index_as_tree(&their_tree, &the_index, index_path, 0, NULL))
return error("could not write tree");

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,7 +1626,7 @@ static void do_commit(const struct am_state *state)
if (run_hook_le(NULL, "pre-applypatch", NULL))
exit(1);

if (write_cache_as_tree(tree.hash, 0, NULL))
if (write_cache_as_tree(&tree, 0, NULL))
die(_("git write-tree failed to write a tree"));

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,7 +2004,7 @@ static int clean_index(const struct object_id *head, const struct object_id *rem
if (fast_forward_to(head_tree, head_tree, 1))
return -1;

if (write_cache_as_tree(index.hash, 0, NULL))
if (write_cache_as_tree(&index, 0, NULL))
return -1;

index_tree = parse_tree_indirect(&index);

2
builtin/merge.c

@ -639,7 +639,7 @@ static int read_tree_trivial(struct object_id *common, struct object_id *head, @@ -639,7 +639,7 @@ static int read_tree_trivial(struct object_id *common, struct object_id *head,

static void write_tree_trivial(struct object_id *oid)
{
if (write_cache_as_tree(oid->hash, 0, NULL))
if (write_cache_as_tree(oid, 0, NULL))
die(_("git write-tree failed to write a tree"));
}


2
builtin/write-tree.c

@ -38,7 +38,7 @@ int cmd_write_tree(int argc, const char **argv, const char *unused_prefix) @@ -38,7 +38,7 @@ int cmd_write_tree(int argc, const char **argv, const char *unused_prefix)
argc = parse_options(argc, argv, unused_prefix, write_tree_options,
write_tree_usage, 0);

ret = write_cache_as_tree(oid.hash, flags, prefix);
ret = write_cache_as_tree(&oid, flags, prefix);
switch (ret) {
case 0:
printf("%s\n", oid_to_hex(&oid));

10
cache-tree.c

@ -599,7 +599,7 @@ static struct cache_tree *cache_tree_find(struct cache_tree *it, const char *pat @@ -599,7 +599,7 @@ static struct cache_tree *cache_tree_find(struct cache_tree *it, const char *pat
return it;
}

int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, const char *index_path, int flags, const char *prefix)
int write_index_as_tree(struct object_id *oid, struct index_state *index_state, const char *index_path, int flags, const char *prefix)
{
int entries, was_valid;
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,19 +640,19 @@ int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, co
ret = WRITE_TREE_PREFIX_ERROR;
goto out;
}
hashcpy(sha1, subtree->oid.hash);
oidcpy(oid, &subtree->oid);
}
else
hashcpy(sha1, index_state->cache_tree->oid.hash);
oidcpy(oid, &index_state->cache_tree->oid);

out:
rollback_lock_file(&lock_file);
return ret;
}

int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix)
int write_cache_as_tree(struct object_id *oid, int flags, const char *prefix)
{
return write_index_as_tree(sha1, &the_index, get_index_file(), flags, prefix);
return write_index_as_tree(oid, &the_index, get_index_file(), flags, prefix);
}

static void prime_cache_tree_rec(struct cache_tree *it, struct tree *tree)

4
cache-tree.h

@ -47,8 +47,8 @@ int update_main_cache_tree(int); @@ -47,8 +47,8 @@ int update_main_cache_tree(int);
#define WRITE_TREE_UNMERGED_INDEX (-2)
#define WRITE_TREE_PREFIX_ERROR (-3)

int write_index_as_tree(unsigned char *sha1, struct index_state *index_state, const char *index_path, int flags, const char *prefix);
int write_cache_as_tree(unsigned char *sha1, int flags, const char *prefix);
int write_index_as_tree(struct object_id *oid, struct index_state *index_state, const char *index_path, int flags, const char *prefix);
int write_cache_as_tree(struct object_id *oid, int flags, const char *prefix);
void prime_cache_tree(struct index_state *, struct tree *);

extern int cache_tree_matches_traversal(struct cache_tree *, struct name_entry *ent, struct traverse_info *info);

4
sequencer.c

@ -1113,7 +1113,7 @@ static int try_to_commit(struct strbuf *msg, const char *author, @@ -1113,7 +1113,7 @@ static int try_to_commit(struct strbuf *msg, const char *author,
commit_list_insert(current_head, &parents);
}

if (write_cache_as_tree(tree.hash, 0, NULL)) {
if (write_cache_as_tree(&tree, 0, NULL)) {
res = error(_("git write-tree failed to write a tree"));
goto out;
}
@ -1475,7 +1475,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit, @@ -1475,7 +1475,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
* that represents the "current" state for merge-recursive
* to work on.
*/
if (write_cache_as_tree(head.hash, 0, NULL))
if (write_cache_as_tree(&head, 0, NULL))
return error(_("your index file is unmerged."));
} else {
unborn = get_oid("HEAD", &head);

Loading…
Cancel
Save