if (ar_args->mtime_option)
archive_time = approxidate(ar_args->mtime_option);
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
die(_("not a tree object: %s"), oid_to_hex(&oid));
struct unpack_trees_options opts;
struct tree_desc t[2];
- if (parse_tree(head) || parse_tree(remote))
+ if (repo_parse_tree(the_repository, head) || repo_parse_tree(the_repository, remote))
return -1;
repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
struct unpack_trees_options opts;
struct tree_desc t[1];
- if (parse_tree(tree))
+ if (repo_parse_tree(the_repository, tree))
return -1;
repo_hold_locked_index(the_repository, &lock_file, LOCK_DIE_ON_ERROR);
struct tree *head_tree, *remote_tree, *index_tree;
struct object_id index;
- head_tree = parse_tree_indirect(head);
+ head_tree = repo_parse_tree_indirect(the_repository, head);
if (!head_tree)
return error(_("Could not parse object '%s'."), oid_to_hex(head));
- remote_tree = parse_tree_indirect(remote);
+ remote_tree = repo_parse_tree_indirect(the_repository, remote);
if (!remote_tree)
return error(_("Could not parse object '%s'."), oid_to_hex(remote));
0, NULL))
return -1;
- index_tree = parse_tree_indirect(&index);
+ index_tree = repo_parse_tree_indirect(the_repository, &index);
if (!index_tree)
return error(_("Could not parse object '%s'."), oid_to_hex(&index));
init_checkout_metadata(&opts.meta, info->refname,
info->commit ? &info->commit->object.oid : null_oid(the_hash_algo),
NULL);
- if (parse_tree(tree) < 0)
+ if (repo_parse_tree(the_repository, tree) < 0)
return 128;
init_tree_desc(&tree_desc, &tree->object.oid, tree->buffer, tree->size);
switch (unpack_trees(1, &tree_desc, &opts)) {
if (opts->new_orphan_branch && opts->orphan_from_empty_tree) {
if (new_branch_info->commit)
BUG("'switch --orphan' should never accept a commit as starting point");
- new_tree = parse_tree_indirect(the_hash_algo->empty_tree);
+ new_tree = repo_parse_tree_indirect(the_repository,
+ the_hash_algo->empty_tree);
if (!new_tree)
BUG("unable to read empty tree");
} else {
old_commit_oid = old_branch_info->commit ?
&old_branch_info->commit->object.oid :
the_hash_algo->empty_tree;
- tree = parse_tree_indirect(old_commit_oid);
+ tree = repo_parse_tree_indirect(the_repository,
+ old_commit_oid);
if (!tree)
die(_("unable to parse commit %s"),
oid_to_hex(old_commit_oid));
init_tree_desc(&trees[0], &tree->object.oid,
tree->buffer, tree->size);
- if (parse_tree(new_tree) < 0)
+ if (repo_parse_tree(the_repository, new_tree) < 0)
die(NULL);
tree = new_tree;
init_tree_desc(&trees[1], &tree->object.oid,
new_branch_info->commit = lookup_commit_reference_gently(the_repository, rev, 1);
if (!new_branch_info->commit) {
/* not a commit */
- *source_tree = parse_tree_indirect(rev);
+ *source_tree = repo_parse_tree_indirect(the_repository, rev);
if (!*source_tree)
die(_("unable to read tree (%s)"), oid_to_hex(rev));
} else {
opts.dst_index = the_repository->index;
init_checkout_metadata(&opts.meta, head, &oid, NULL);
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
die(_("unable to parse commit %s"), oid_to_hex(&oid));
- if (parse_tree(tree) < 0)
+ if (repo_parse_tree(the_repository, tree) < 0)
exit(128);
init_tree_desc(&t, &tree->object.oid, tree->buffer, tree->size);
if (unpack_trees(1, &t, &opts) < 0)
opts.dst_index = the_repository->index;
opts.fn = oneway_merge;
- tree = parse_tree_indirect(¤t_head->object.oid);
+ tree = repo_parse_tree_indirect(the_repository,
+ ¤t_head->object.oid);
if (!tree)
die(_("failed to unpack HEAD tree object"));
- if (parse_tree(tree) < 0)
+ if (repo_parse_tree(the_repository, tree) < 0)
exit(128);
init_tree_desc(&t, &tree->object.oid, tree->buffer, tree->size);
if (unpack_trees(1, &t, &opts))
if (!isspace(*p++) || parse_oid_hex(p, &oid, &p) || *p)
return error("Need exactly two trees, separated by a space");
tree2 = lookup_tree(the_repository, &oid);
- if (!tree2 || parse_tree(tree2))
+ if (!tree2 || repo_parse_tree(the_repository, tree2))
return -1;
printf("%s %s\n", oid_to_hex(&tree1->object.oid),
oid_to_hex(&tree2->object.oid));
for (i = 0; i < options.pathspec.nr; i++)
options.pathspec.items[i].nowildcard_len = options.pathspec.items[i].len;
options.pathspec.has_wildcard = 0;
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
die("not a tree object");
/*
if (repo_get_oid_treeish(the_repository, merge_base, &base_oid))
die(_("could not parse as tree '%s'"), merge_base);
- base_tree = parse_tree_indirect(&base_oid);
+ base_tree = repo_parse_tree_indirect(the_repository,
+ &base_oid);
if (!base_tree)
die(_("unable to read tree (%s)"), oid_to_hex(&base_oid));
if (repo_get_oid_treeish(the_repository, branch1, &head_oid))
die(_("could not parse as tree '%s'"), branch1);
- parent1_tree = parse_tree_indirect(&head_oid);
+ parent1_tree = repo_parse_tree_indirect(the_repository,
+ &head_oid);
if (!parent1_tree)
die(_("unable to read tree (%s)"), oid_to_hex(&head_oid));
if (repo_get_oid_treeish(the_repository, branch2, &merge_oid))
die(_("could not parse as tree '%s'"), branch2);
- parent2_tree = parse_tree_indirect(&merge_oid);
+ parent2_tree = repo_parse_tree_indirect(the_repository,
+ &merge_oid);
if (!parent2_tree)
die(_("unable to read tree (%s)"), oid_to_hex(&merge_oid));
opts.trivial_merges_only = 1;
opts.merge = 1;
opts.preserve_ignored = 0; /* FIXME: !overwrite_ignore */
- trees[nr_trees] = parse_tree_indirect(common);
+ trees[nr_trees] = repo_parse_tree_indirect(the_repository, common);
if (!trees[nr_trees++])
return -1;
- trees[nr_trees] = parse_tree_indirect(head);
+ trees[nr_trees] = repo_parse_tree_indirect(the_repository, head);
if (!trees[nr_trees++])
return -1;
- trees[nr_trees] = parse_tree_indirect(one);
+ trees[nr_trees] = repo_parse_tree_indirect(the_repository, one);
if (!trees[nr_trees++])
return -1;
opts.fn = threeway_merge;
cache_tree_free(&the_repository->index->cache_tree);
for (i = 0; i < nr_trees; i++) {
- parse_tree(trees[i]);
+ repo_parse_tree(the_repository, trees[i]);
init_tree_desc(t+i, &trees[i]->object.oid,
trees[i]->buffer, trees[i]->size);
}
if (nr_trees >= MAX_UNPACK_TREES)
die("I cannot read more than %d trees", MAX_UNPACK_TREES);
- tree = parse_tree_indirect(oid);
+ tree = repo_parse_tree_indirect(the_repository, oid);
if (!tree)
return -1;
trees[nr_trees++] = tree;
cache_tree_free(&the_repository->index->cache_tree);
for (i = 0; i < nr_trees; i++) {
struct tree *tree = trees[i];
- if (parse_tree(tree) < 0)
+ if (repo_parse_tree(the_repository, tree) < 0)
return 128;
init_tree_desc(t+i, &tree->object.oid, tree->buffer, tree->size);
}
goto out;
if (reset_type == MIXED || reset_type == HARD) {
- tree = parse_tree_indirect(oid);
+ tree = repo_parse_tree_indirect(the_repository, oid);
if (!tree) {
error(_("unable to read tree (%s)"), oid_to_hex(oid));
goto out;
struct tree *tree;
if (repo_get_oid_treeish(the_repository, rev, &oid))
die(_("Failed to resolve '%s' as a valid tree."), rev);
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
die(_("Could not parse object '%s'."), rev);
oidcpy(&oid, &tree->object.oid);
memset(&opts, 0, sizeof(opts));
- tree = parse_tree_indirect(i_tree);
- if (parse_tree(tree))
+ tree = repo_parse_tree_indirect(the_repository, i_tree);
+ if (repo_parse_tree(the_repository, tree))
return -1;
init_tree_desc(t, &tree->object.oid, tree->buffer, tree->size);
struct unpack_trees_options unpack_tree_opt = { 0 };
for (size_t i = 0; i < ARRAY_SIZE(oid); i++) {
- tree[i] = parse_tree_indirect(oid[i]);
- if (parse_tree(tree[i]) < 0)
+ tree[i] = repo_parse_tree_indirect(the_repository, oid[i]);
+ if (repo_parse_tree(the_repository, tree[i]) < 0)
die(_("failed to parse tree"));
init_tree_desc(&tree_desc[i], &tree[i]->object.oid,
tree[i]->buffer, tree[i]->size);
struct cache_tree_sub *sub;
struct tree *subtree = lookup_tree(r, &entry.oid);
- if (parse_tree(subtree) < 0)
+ if (repo_parse_tree(the_repository, subtree) < 0)
exit(128);
sub = cache_tree_sub(it, entry.path);
sub->cache_tree = cache_tree();
|
- init_revisions
+ repo_init_revisions
+// tree.h
+|
+- parse_tree
++ repo_parse_tree
+|
+- parse_tree_gently
++ repo_parse_tree_gently
+|
+- parse_tree_indirect
++ repo_parse_tree_indirect
)
(
+ the_repository,
struct tree_desc t;
struct unpack_trees_options opts;
- tree = parse_tree_indirect(tree_oid);
+ tree = repo_parse_tree_indirect(the_repository, tree_oid);
if (!tree)
return error("bad tree object %s",
tree_name ? tree_name : oid_to_hex(tree_oid));
int res = 0;
const char *name;
- if (parse_tree(tree))
+ if (repo_parse_tree(the_repository, tree))
return -1;
name = fsck_get_object_name(options, &tree->object.oid);
if (obj->flags & (UNINTERESTING | SEEN))
return p;
- if (parse_tree(tree) < 0)
+ if (repo_parse_tree(the_repository, tree) < 0)
die("bad tree object %s", oid_to_hex(&obj->oid));
obj->flags |= SEEN;
if (ctx->depth > revs->repo->settings.max_allowed_tree_depth)
die("exceeded maximum allowed tree depth");
- failed_parse = parse_tree_gently(tree, 1);
+ failed_parse = repo_parse_tree_gently(the_repository, tree, 1);
if (failed_parse) {
if (revs->ignore_missing_links)
return;
info.data = opt;
info.show_all_errors = 1;
- if (parse_tree(merge_base) < 0 ||
- parse_tree(side1) < 0 ||
- parse_tree(side2) < 0)
+ if (repo_parse_tree(the_repository, merge_base) < 0 ||
+ repo_parse_tree(the_repository, side1) < 0 ||
+ repo_parse_tree(the_repository, side2) < 0)
return -1;
init_tree_desc(t + 0, &merge_base->object.oid,
merge_base->buffer, merge_base->size);
unpack_opts.verbose_update = (opt->verbosity > 2);
unpack_opts.fn = twoway_merge;
unpack_opts.preserve_ignored = 0; /* FIXME: !opts->overwrite_ignore */
- if (parse_tree(prev) < 0)
+ if (repo_parse_tree(the_repository, prev) < 0)
return -1;
init_tree_desc(&trees[0], &prev->object.oid, prev->buffer, prev->size);
- if (parse_tree(next) < 0)
+ if (repo_parse_tree(the_repository, next) < 0)
return -1;
init_tree_desc(&trees[1], &next->object.oid, next->buffer, next->size);
if (result->clean >= 0) {
if (!opt->mergeability_only) {
- result->tree = parse_tree_indirect(&working_tree_oid);
+ result->tree = repo_parse_tree_indirect(the_repository,
+ &working_tree_oid);
if (!result->tree)
die(_("unable to read tree (%s)"),
oid_to_hex(&working_tree_oid));
memset(&trees, 0, sizeof(trees));
memset(&t, 0, sizeof(t));
- trees[nr_trees] = parse_tree_indirect(head);
+ trees[nr_trees] = repo_parse_tree_indirect(the_repository, head);
if (!trees[nr_trees++]) {
rollback_lock_file(&lock_file);
return -1;
}
- trees[nr_trees] = parse_tree_indirect(remote);
+ trees[nr_trees] = repo_parse_tree_indirect(the_repository, remote);
if (!trees[nr_trees++]) {
rollback_lock_file(&lock_file);
return -1;
}
for (i = 0; i < nr_trees; i++) {
- if (parse_tree(trees[i]) < 0) {
+ if (repo_parse_tree(the_repository, trees[i]) < 0) {
rollback_lock_file(&lock_file);
return -1;
}
if (repo_get_oid(the_repository, tree_name, &oid))
die("tree-ish %s not found.", tree_name);
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
die("bad tree-ish %s", tree_name);
goto leave_reset_head;
}
- tree = parse_tree_indirect(oid);
+ tree = repo_parse_tree_indirect(the_repository, oid);
if (!tree) {
ret = error(_("unable to read tree (%s)"), oid_to_hex(oid));
goto leave_reset_head;
struct tree_desc desc;
struct name_entry entry;
- if (parse_tree_gently(tree, 1) < 0)
+ if (repo_parse_tree_gently(the_repository, tree, 1) < 0)
return;
init_tree_desc(&desc, &tree->object.oid, tree->buffer, tree->size);
if (!tree)
return;
- if (parse_tree_gently(tree, 1) < 0)
+ if (repo_parse_tree_gently(the_repository, tree, 1) < 0)
return;
init_tree_desc(&desc, &tree->object.oid, tree->buffer, tree->size);
o.buffer_output = 2;
o.show_rename_progress = 1;
- head_tree = parse_tree_indirect(head);
+ head_tree = repo_parse_tree_indirect(the_repository, head);
if (!head_tree)
return error(_("unable to read tree (%s)"), oid_to_hex(head));
next_tree = next ? repo_get_commit_tree(r, next) : empty_tree(r);
goto cleanup;
}
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
return error(_("unable to read tree (%s)"), oid_to_hex(&oid));
prime_cache_tree(r, r->index, tree);
die(_("unable to read index file"));
oidcpy(&oid, &the_repository->index->cache_tree->oid);
- tree = parse_tree_indirect(&oid);
+ tree = repo_parse_tree_indirect(the_repository, &oid);
if (!tree)
die(_("not a tree object: %s"), oid_to_hex(&oid));
die("cannot parse %s as an object name", av[1]);
if (repo_get_oid(the_repository, av[2], &hash2))
die("cannot parse %s as an object name", av[2]);
- one = parse_tree_indirect(&hash1);
+ one = repo_parse_tree_indirect(the_repository, &hash1);
if (!one)
die("not a tree-ish %s", av[1]);
- two = parse_tree_indirect(&hash2);
+ two = repo_parse_tree_indirect(the_repository, &hash2);
if (!two)
die("not a tree-ish %s", av[2]);
struct tree_desc desc;
struct name_entry entry;
- if (parse_tree(tree))
+ if (repo_parse_tree(the_repository, tree))
return -1;
init_tree_desc(&desc, &tree->object.oid, tree->buffer, tree->size);