diff options
Diffstat (limited to 'builtin/commit-tree.c')
-rw-r--r-- | builtin/commit-tree.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index cc8d584be2..2ca1a57ebb 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -3,15 +3,15 @@ * * Copyright (C) Linus Torvalds, 2005 */ -#include "cache.h" +#define USE_THE_REPOSITORY_VARIABLE +#include "builtin.h" #include "config.h" -#include "object-store.h" -#include "repository.h" +#include "gettext.h" +#include "hex.h" +#include "object-name.h" +#include "object-store-ll.h" + #include "commit.h" -#include "tree.h" -#include "builtin.h" -#include "utf8.h" -#include "gpg-interface.h" #include "parse-options.h" static const char * const commit_tree_usage[] = { @@ -37,14 +37,6 @@ static void new_parent(struct commit *parent, struct commit_list **parents_p) commit_list_insert(parent, parents_p); } -static int commit_tree_config(const char *var, const char *value, void *cb) -{ - int status = git_gpg_config(var, value, NULL); - if (status) - return status; - return git_default_config(var, value, cb); -} - static int parse_parent_arg_callback(const struct option *opt, const char *arg, int unset) { @@ -53,7 +45,7 @@ static int parse_parent_arg_callback(const struct option *opt, BUG_ON_OPT_NEG_NOARG(unset, arg); - if (get_oid_commit(arg, &oid)) + if (repo_get_oid_commit(the_repository, arg, &oid)) die(_("not a valid object name %s"), arg); assert_oid_type(&oid, OBJ_COMMIT); @@ -99,7 +91,10 @@ static int parse_file_arg_callback(const struct option *opt, return 0; } -int cmd_commit_tree(int argc, const char **argv, const char *prefix) +int cmd_commit_tree(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { static struct strbuf buffer = STRBUF_INIT; struct commit_list *parents = NULL; @@ -120,8 +115,9 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) N_("GPG sign commit"), PARSE_OPT_OPTARG, NULL, (intptr_t) "" }, OPT_END() }; + int ret; - git_config(commit_tree_config, NULL); + git_config(git_default_config, NULL); if (argc < 2 || !strcmp(argv[1], "-h")) usage_with_options(commit_tree_usage, options); @@ -131,7 +127,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) if (argc != 1) die(_("must give exactly one tree")); - if (get_oid_tree(argv[0], &tree_oid)) + if (repo_get_oid_tree(the_repository, argv[0], &tree_oid)) die(_("not a valid object name %s"), argv[0]); if (!buffer.len) { @@ -141,11 +137,15 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) if (commit_tree(buffer.buf, buffer.len, &tree_oid, parents, &commit_oid, NULL, sign_commit)) { - strbuf_release(&buffer); - return 1; + ret = 1; + goto out; } printf("%s\n", oid_to_hex(&commit_oid)); + ret = 0; + +out: + free_commit_list(parents); strbuf_release(&buffer); - return 0; + return ret; } |