From: John Cai via GitGitGadget Date: Tue, 10 Sep 2024 20:59:18 GMT Subject: [PATCH v2 1/3] builtin: add a repository parameter for builtin functions Message-ID: <9aaf966254493678d3e25b93cb11017c814d3087.1726001961.git.gitgitgadget@gmail.com> In-Reply-To: From: John Cai In order to reduce the usage of the global the_repository, add a parameter to builtin functions that will get passed a repository variable. This commit uses UNUSED on most of the builtin functions, as subsequent commits will modify the actual builtins to pass the repository parameter down. Signed-off-by: John Cai --- builtin.h | 277 +++++++++++++++-------------- builtin/add.c | 12 +- builtin/am.c | 5 +- builtin/annotate.c | 7 +- builtin/apply.c | 5 +- builtin/archive.c | 5 +- builtin/bisect.c | 5 +- builtin/blame.c | 5 +- builtin/branch.c | 5 +- builtin/bugreport.c | 5 +- builtin/bundle.c | 5 +- builtin/cat-file.c | 7 +- builtin/check-attr.c | 5 +- builtin/check-ignore.c | 5 +- builtin/check-mailmap.c | 5 +- builtin/check-ref-format.c | 5 +- builtin/checkout--worker.c | 5 +- builtin/checkout-index.c | 5 +- builtin/checkout.c | 15 +- builtin/clean.c | 5 +- builtin/clone.c | 5 +- builtin/column.c | 5 +- builtin/commit-graph.c | 5 +- builtin/commit-tree.c | 5 +- builtin/commit.c | 10 +- builtin/config.c | 5 +- builtin/count-objects.c | 5 +- builtin/credential-cache--daemon.c | 10 +- builtin/credential-cache.c | 5 +- builtin/credential-store.c | 5 +- builtin/credential.c | 5 +- builtin/describe.c | 7 +- builtin/diagnose.c | 5 +- builtin/diff-files.c | 5 +- builtin/diff-index.c | 5 +- builtin/diff-tree.c | 5 +- builtin/diff.c | 5 +- builtin/difftool.c | 5 +- builtin/fast-export.c | 5 +- builtin/fast-import.c | 5 +- builtin/fetch-pack.c | 5 +- builtin/fetch.c | 5 +- builtin/fmt-merge-msg.c | 5 +- builtin/for-each-ref.c | 5 +- builtin/for-each-repo.c | 5 +- builtin/fsck.c | 5 +- builtin/fsmonitor--daemon.c | 7 +- builtin/gc.c | 10 +- builtin/get-tar-commit-id.c | 5 +- builtin/grep.c | 5 +- builtin/hash-object.c | 5 +- builtin/help.c | 5 +- builtin/hook.c | 5 +- builtin/index-pack.c | 5 +- builtin/init-db.c | 5 +- builtin/interpret-trailers.c | 5 +- builtin/log.c | 30 +++- builtin/ls-files.c | 5 +- builtin/ls-remote.c | 5 +- builtin/ls-tree.c | 5 +- builtin/mailinfo.c | 5 +- builtin/mailsplit.c | 5 +- builtin/merge-base.c | 5 +- builtin/merge-file.c | 5 +- builtin/merge-index.c | 5 +- builtin/merge-ours.c | 5 +- builtin/merge-recursive.c | 5 +- builtin/merge-tree.c | 5 +- builtin/merge.c | 9 +- builtin/mktag.c | 5 +- builtin/mktree.c | 6 +- builtin/multi-pack-index.c | 6 +- builtin/mv.c | 5 +- builtin/name-rev.c | 5 +- builtin/notes.c | 5 +- builtin/pack-objects.c | 5 +- builtin/pack-redundant.c | 7 +- builtin/pack-refs.c | 5 +- builtin/patch-id.c | 5 +- builtin/prune-packed.c | 5 +- builtin/prune.c | 5 +- builtin/pull.c | 5 +- builtin/push.c | 5 +- builtin/range-diff.c | 5 +- builtin/read-tree.c | 5 +- builtin/rebase.c | 5 +- builtin/receive-pack.c | 5 +- builtin/reflog.c | 9 +- builtin/refs.c | 5 +- builtin/remote-ext.c | 5 +- builtin/remote-fd.c | 5 +- builtin/remote.c | 5 +- builtin/repack.c | 5 +- builtin/replace.c | 5 +- builtin/replay.c | 5 +- builtin/rerere.c | 5 +- builtin/reset.c | 5 +- builtin/rev-list.c | 5 +- builtin/rev-parse.c | 5 +- builtin/revert.c | 10 +- builtin/rm.c | 5 +- builtin/send-pack.c | 5 +- builtin/shortlog.c | 5 +- builtin/show-branch.c | 5 +- builtin/show-index.c | 5 +- builtin/show-ref.c | 5 +- builtin/sparse-checkout.c | 5 +- builtin/stash.c | 5 +- builtin/stripspace.c | 5 +- builtin/submodule--helper.c | 5 +- builtin/symbolic-ref.c | 5 +- builtin/tag.c | 5 +- builtin/unpack-file.c | 5 +- builtin/unpack-objects.c | 5 +- builtin/update-index.c | 5 +- builtin/update-ref.c | 5 +- builtin/update-server-info.c | 5 +- builtin/upload-archive.c | 10 +- builtin/upload-pack.c | 5 +- builtin/var.c | 5 +- builtin/verify-commit.c | 5 +- builtin/verify-pack.c | 5 +- builtin/verify-tag.c | 5 +- builtin/worktree.c | 5 +- builtin/write-tree.c | 5 +- git.c | 12 +- help.c | 3 +- stkOs5Qh | Bin 0 -> 10485768 bytes 128 files changed, 703 insertions(+), 296 deletions(-) create mode 100644 stkOs5Qh diff --git a/builtin.h b/builtin.h index 14fa0171607..fc6fc8ffed8 100644 --- a/builtin.h +++ b/builtin.h @@ -10,6 +10,7 @@ #define USE_THE_REPOSITORY_VARIABLE #include "git-compat-util.h" +#include "repository.h" /* * builtin API @@ -122,143 +123,143 @@ int is_builtin(const char *s); BUG("unexpected prefix in builtin: %s", (prefix)); \ } while (0) -int cmd_add(int argc, const char **argv, const char *prefix); -int cmd_am(int argc, const char **argv, const char *prefix); -int cmd_annotate(int argc, const char **argv, const char *prefix); -int cmd_apply(int argc, const char **argv, const char *prefix); -int cmd_archive(int argc, const char **argv, const char *prefix); -int cmd_bisect(int argc, const char **argv, const char *prefix); -int cmd_blame(int argc, const char **argv, const char *prefix); -int cmd_branch(int argc, const char **argv, const char *prefix); -int cmd_bugreport(int argc, const char **argv, const char *prefix); -int cmd_bundle(int argc, const char **argv, const char *prefix); -int cmd_cat_file(int argc, const char **argv, const char *prefix); -int cmd_checkout(int argc, const char **argv, const char *prefix); -int cmd_checkout__worker(int argc, const char **argv, const char *prefix); -int cmd_checkout_index(int argc, const char **argv, const char *prefix); -int cmd_check_attr(int argc, const char **argv, const char *prefix); -int cmd_check_ignore(int argc, const char **argv, const char *prefix); -int cmd_check_mailmap(int argc, const char **argv, const char *prefix); -int cmd_check_ref_format(int argc, const char **argv, const char *prefix); -int cmd_cherry(int argc, const char **argv, const char *prefix); -int cmd_cherry_pick(int argc, const char **argv, const char *prefix); -int cmd_clone(int argc, const char **argv, const char *prefix); -int cmd_clean(int argc, const char **argv, const char *prefix); -int cmd_column(int argc, const char **argv, const char *prefix); -int cmd_commit(int argc, const char **argv, const char *prefix); -int cmd_commit_graph(int argc, const char **argv, const char *prefix); -int cmd_commit_tree(int argc, const char **argv, const char *prefix); -int cmd_config(int argc, const char **argv, const char *prefix); -int cmd_count_objects(int argc, const char **argv, const char *prefix); -int cmd_credential(int argc, const char **argv, const char *prefix); -int cmd_credential_cache(int argc, const char **argv, const char *prefix); -int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix); -int cmd_credential_store(int argc, const char **argv, const char *prefix); -int cmd_describe(int argc, const char **argv, const char *prefix); -int cmd_diagnose(int argc, const char **argv, const char *prefix); -int cmd_diff_files(int argc, const char **argv, const char *prefix); -int cmd_diff_index(int argc, const char **argv, const char *prefix); -int cmd_diff(int argc, const char **argv, const char *prefix); -int cmd_diff_tree(int argc, const char **argv, const char *prefix); -int cmd_difftool(int argc, const char **argv, const char *prefix); -int cmd_env__helper(int argc, const char **argv, const char *prefix); -int cmd_fast_export(int argc, const char **argv, const char *prefix); -int cmd_fast_import(int argc, const char **argv, const char *prefix); -int cmd_fetch(int argc, const char **argv, const char *prefix); -int cmd_fetch_pack(int argc, const char **argv, const char *prefix); -int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix); -int cmd_for_each_ref(int argc, const char **argv, const char *prefix); -int cmd_for_each_repo(int argc, const char **argv, const char *prefix); -int cmd_format_patch(int argc, const char **argv, const char *prefix); -int cmd_fsck(int argc, const char **argv, const char *prefix); -int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix); -int cmd_gc(int argc, const char **argv, const char *prefix); -int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix); -int cmd_grep(int argc, const char **argv, const char *prefix); -int cmd_hash_object(int argc, const char **argv, const char *prefix); -int cmd_help(int argc, const char **argv, const char *prefix); -int cmd_hook(int argc, const char **argv, const char *prefix); -int cmd_index_pack(int argc, const char **argv, const char *prefix); -int cmd_init_db(int argc, const char **argv, const char *prefix); -int cmd_interpret_trailers(int argc, const char **argv, const char *prefix); -int cmd_log(int argc, const char **argv, const char *prefix); -int cmd_log_reflog(int argc, const char **argv, const char *prefix); -int cmd_ls_files(int argc, const char **argv, const char *prefix); -int cmd_ls_tree(int argc, const char **argv, const char *prefix); -int cmd_ls_remote(int argc, const char **argv, const char *prefix); -int cmd_mailinfo(int argc, const char **argv, const char *prefix); -int cmd_mailsplit(int argc, const char **argv, const char *prefix); -int cmd_maintenance(int argc, const char **argv, const char *prefix); -int cmd_merge(int argc, const char **argv, const char *prefix); -int cmd_merge_base(int argc, const char **argv, const char *prefix); -int cmd_merge_index(int argc, const char **argv, const char *prefix); -int cmd_merge_ours(int argc, const char **argv, const char *prefix); -int cmd_merge_file(int argc, const char **argv, const char *prefix); -int cmd_merge_recursive(int argc, const char **argv, const char *prefix); -int cmd_merge_tree(int argc, const char **argv, const char *prefix); -int cmd_mktag(int argc, const char **argv, const char *prefix); -int cmd_mktree(int argc, const char **argv, const char *prefix); -int cmd_multi_pack_index(int argc, const char **argv, const char *prefix); -int cmd_mv(int argc, const char **argv, const char *prefix); -int cmd_name_rev(int argc, const char **argv, const char *prefix); -int cmd_notes(int argc, const char **argv, const char *prefix); -int cmd_pack_objects(int argc, const char **argv, const char *prefix); -int cmd_pack_redundant(int argc, const char **argv, const char *prefix); -int cmd_patch_id(int argc, const char **argv, const char *prefix); -int cmd_prune(int argc, const char **argv, const char *prefix); -int cmd_prune_packed(int argc, const char **argv, const char *prefix); -int cmd_pull(int argc, const char **argv, const char *prefix); -int cmd_push(int argc, const char **argv, const char *prefix); -int cmd_range_diff(int argc, const char **argv, const char *prefix); -int cmd_read_tree(int argc, const char **argv, const char *prefix); -int cmd_rebase(int argc, const char **argv, const char *prefix); -int cmd_rebase__interactive(int argc, const char **argv, const char *prefix); -int cmd_receive_pack(int argc, const char **argv, const char *prefix); -int cmd_reflog(int argc, const char **argv, const char *prefix); -int cmd_refs(int argc, const char **argv, const char *prefix); -int cmd_remote(int argc, const char **argv, const char *prefix); -int cmd_remote_ext(int argc, const char **argv, const char *prefix); -int cmd_remote_fd(int argc, const char **argv, const char *prefix); -int cmd_repack(int argc, const char **argv, const char *prefix); -int cmd_replay(int argc, const char **argv, const char *prefix); -int cmd_rerere(int argc, const char **argv, const char *prefix); -int cmd_reset(int argc, const char **argv, const char *prefix); -int cmd_restore(int argc, const char **argv, const char *prefix); -int cmd_rev_list(int argc, const char **argv, const char *prefix); -int cmd_rev_parse(int argc, const char **argv, const char *prefix); -int cmd_revert(int argc, const char **argv, const char *prefix); -int cmd_rm(int argc, const char **argv, const char *prefix); -int cmd_send_pack(int argc, const char **argv, const char *prefix); -int cmd_shortlog(int argc, const char **argv, const char *prefix); -int cmd_show(int argc, const char **argv, const char *prefix); -int cmd_show_branch(int argc, const char **argv, const char *prefix); -int cmd_show_index(int argc, const char **argv, const char *prefix); -int cmd_sparse_checkout(int argc, const char **argv, const char *prefix); -int cmd_status(int argc, const char **argv, const char *prefix); -int cmd_stash(int argc, const char **argv, const char *prefix); -int cmd_stripspace(int argc, const char **argv, const char *prefix); -int cmd_submodule__helper(int argc, const char **argv, const char *prefix); -int cmd_switch(int argc, const char **argv, const char *prefix); -int cmd_symbolic_ref(int argc, const char **argv, const char *prefix); -int cmd_tag(int argc, const char **argv, const char *prefix); -int cmd_unpack_file(int argc, const char **argv, const char *prefix); -int cmd_unpack_objects(int argc, const char **argv, const char *prefix); -int cmd_update_index(int argc, const char **argv, const char *prefix); -int cmd_update_ref(int argc, const char **argv, const char *prefix); -int cmd_update_server_info(int argc, const char **argv, const char *prefix); -int cmd_upload_archive(int argc, const char **argv, const char *prefix); -int cmd_upload_archive_writer(int argc, const char **argv, const char *prefix); -int cmd_upload_pack(int argc, const char **argv, const char *prefix); -int cmd_var(int argc, const char **argv, const char *prefix); -int cmd_verify_commit(int argc, const char **argv, const char *prefix); -int cmd_verify_tag(int argc, const char **argv, const char *prefix); -int cmd_version(int argc, const char **argv, const char *prefix); -int cmd_whatchanged(int argc, const char **argv, const char *prefix); -int cmd_worktree(int argc, const char **argv, const char *prefix); -int cmd_write_tree(int argc, const char **argv, const char *prefix); -int cmd_verify_pack(int argc, const char **argv, const char *prefix); -int cmd_show_ref(int argc, const char **argv, const char *prefix); -int cmd_pack_refs(int argc, const char **argv, const char *prefix); -int cmd_replace(int argc, const char **argv, const char *prefix); +int cmd_add(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_am(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_annotate(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_apply(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_archive(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_bisect(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_blame(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_branch(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_bugreport(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_bundle(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_cat_file(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_checkout(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_checkout__worker(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_checkout_index(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_check_attr(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_check_ignore(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_check_mailmap(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_check_ref_format(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_cherry(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_cherry_pick(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_clone(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_clean(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_column(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_commit(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_commit_graph(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_commit_tree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_config(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_count_objects(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_credential(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_credential_cache(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_credential_store(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_describe(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_diagnose(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_diff_files(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_diff_index(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_diff(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_diff_tree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_difftool(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_env__helper(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fast_export(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fast_import(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fetch(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fetch_pack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_for_each_ref(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_for_each_repo(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_format_patch(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fsck(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_gc(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_grep(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_hash_object(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_help(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_hook(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_index_pack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_init_db(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_interpret_trailers(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_log_reflog(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_log(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_ls_files(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_ls_tree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_ls_remote(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_mailinfo(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_mailsplit(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_maintenance(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge_base(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge_index(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge_ours(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge_file(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge_recursive(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_merge_tree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_mktag(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_mktree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_multi_pack_index(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_mv(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_name_rev(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_notes(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_pack_objects(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_pack_redundant(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_patch_id(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_prune(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_prune_packed(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_pull(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_push(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_range_diff(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_read_tree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_rebase(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_rebase__interactive(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_receive_pack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_reflog(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_refs(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_remote(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_remote_ext(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_remote_fd(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_repack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_replay(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_rerere(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_reset(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_restore(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_rev_list(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_rev_parse(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_revert(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_rm(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_send_pack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_shortlog(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_show(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_show_branch(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_show_index(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_sparse_checkout(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_status(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_stash(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_stripspace(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_submodule__helper(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_switch(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_symbolic_ref(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_tag(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_unpack_file(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_unpack_objects(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_update_index(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_update_ref(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_update_server_info(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_upload_archive(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_upload_archive_writer(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_upload_pack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_var(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_verify_commit(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_verify_tag(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_version(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_whatchanged(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_worktree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_write_tree(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_verify_pack(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_show_ref(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_pack_refs(int argc, const char **argv, const char *prefix, struct repository *repo); +int cmd_replace(int argc, const char **argv, const char *prefix, struct repository *repo); #endif diff --git a/builtin/add.c b/builtin/add.c index 40b61ef90d9..ba331519cac 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -167,7 +167,10 @@ int interactive_add(const char **argv, const char *prefix, int patch) return ret; } -static int edit_patch(int argc, const char **argv, const char *prefix) +static int edit_patch(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { char *file = git_pathdup("ADD_EDIT.patch"); struct child_process child = CHILD_PROCESS_INIT; @@ -358,7 +361,10 @@ static int add_files(struct dir_struct *dir, int flags) return exit_status; } -int cmd_add(int argc, const char **argv, const char *prefix) +int cmd_add(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int exit_status = 0; struct pathspec pathspec; @@ -387,7 +393,7 @@ int cmd_add(int argc, const char **argv, const char *prefix) if (edit_interactive) { if (pathspec_from_file) die(_("options '%s' and '%s' cannot be used together"), "--pathspec-from-file", "--edit"); - return(edit_patch(argc, argv, prefix)); + return(edit_patch(argc, argv, prefix, the_repository)); } argc--; argv++; diff --git a/builtin/am.c b/builtin/am.c index d8875ad4022..8c610eed3e6 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -2298,7 +2298,10 @@ static int parse_opt_show_current_patch(const struct option *opt, const char *ar return 0; } -int cmd_am(int argc, const char **argv, const char *prefix) +int cmd_am(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct am_state state; int binary = -1; diff --git a/builtin/annotate.c b/builtin/annotate.c index 58ff977a231..0abf89ef186 100644 --- a/builtin/annotate.c +++ b/builtin/annotate.c @@ -7,7 +7,10 @@ #include "builtin.h" #include "strvec.h" -int cmd_annotate(int argc, const char **argv, const char *prefix) +int cmd_annotate(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct strvec args = STRVEC_INIT; int i; @@ -18,5 +21,5 @@ int cmd_annotate(int argc, const char **argv, const char *prefix) strvec_push(&args, argv[i]); } - return cmd_blame(args.nr, args.v, prefix); + return cmd_blame(args.nr, args.v, prefix, the_repository); } diff --git a/builtin/apply.c b/builtin/apply.c index d623c52f78f..ca0bb97df40 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -9,7 +9,10 @@ static const char * const apply_usage[] = { NULL }; -int cmd_apply(int argc, const char **argv, const char *prefix) +int cmd_apply(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int force_apply = 0; int options = 0; diff --git a/builtin/archive.c b/builtin/archive.c index b50981504f3..de59c3ae97a 100644 --- a/builtin/archive.c +++ b/builtin/archive.c @@ -76,7 +76,10 @@ static int run_remote_archiver(int argc, const char **argv, PARSE_OPT_KEEP_UNKNOWN_OPT | \ PARSE_OPT_NO_INTERNAL_HELP ) -int cmd_archive(int argc, const char **argv, const char *prefix) +int cmd_archive(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *exec = "git-upload-archive"; char *output = NULL; diff --git a/builtin/bisect.c b/builtin/bisect.c index 453a6cccd70..b83056df9f4 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -1411,7 +1411,10 @@ static int cmd_bisect__run(int argc, const char **argv, const char *prefix UNUSE return res; } -int cmd_bisect(int argc, const char **argv, const char *prefix) +int cmd_bisect(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int res = 0; parse_opt_subcommand_fn *fn = NULL; diff --git a/builtin/blame.c b/builtin/blame.c index 35e975fb132..728a62402b5 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -864,7 +864,10 @@ static void build_ignorelist(struct blame_scoreboard *sb, } } -int cmd_blame(int argc, const char **argv, const char *prefix) +int cmd_blame(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info revs; char *path = NULL; diff --git a/builtin/branch.c b/builtin/branch.c index 3f870741bfd..7980d2e83d6 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -704,7 +704,10 @@ static int edit_branch_description(const char *branch_name) return 0; } -int cmd_branch(int argc, const char **argv, const char *prefix) +int cmd_branch(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { /* possible actions */ int delete = 0, rename = 0, copy = 0, list = 0, diff --git a/builtin/bugreport.c b/builtin/bugreport.c index bdfed3d8f18..aeab40c4902 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -98,7 +98,10 @@ static void get_header(struct strbuf *buf, const char *title) strbuf_addf(buf, "\n\n[%s]\n", title); } -int cmd_bugreport(int argc, const char **argv, const char *prefix) +int cmd_bugreport(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct strbuf buffer = STRBUF_INIT; struct strbuf report_path = STRBUF_INIT; diff --git a/builtin/bundle.c b/builtin/bundle.c index 86d0ed7049c..97f7f530d0e 100644 --- a/builtin/bundle.c +++ b/builtin/bundle.c @@ -226,7 +226,10 @@ cleanup: return ret; } -int cmd_bundle(int argc, const char **argv, const char *prefix) +int cmd_bundle(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option options[] = { diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 18fe58d6b8b..b244b5a1ab6 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -191,7 +191,7 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name, const char *ls_args[3] = { NULL }; ls_args[0] = "ls-tree"; ls_args[1] = obj_name; - ret = cmd_ls_tree(2, ls_args, NULL); + ret = cmd_ls_tree(2, ls_args, NULL, the_repository); goto cleanup; } @@ -923,7 +923,10 @@ static int batch_option_callback(const struct option *opt, return 0; } -int cmd_cat_file(int argc, const char **argv, const char *prefix) +int cmd_cat_file(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int opt = 0; int opt_cw = 0; diff --git a/builtin/check-attr.c b/builtin/check-attr.c index 93768107100..ffd1067558d 100644 --- a/builtin/check-attr.c +++ b/builtin/check-attr.c @@ -107,7 +107,10 @@ static NORETURN void error_with_usage(const char *msg) usage_with_options(check_attr_usage, check_attr_options); } -int cmd_check_attr(int argc, const char **argv, const char *prefix) +int cmd_check_attr(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct attr_check *check; struct object_id initialized_oid; diff --git a/builtin/check-ignore.c b/builtin/check-ignore.c index 2bda6a1d462..70565b9f892 100644 --- a/builtin/check-ignore.c +++ b/builtin/check-ignore.c @@ -151,7 +151,10 @@ static int check_ignore_stdin_paths(struct dir_struct *dir, const char *prefix) return num_ignored; } -int cmd_check_ignore(int argc, const char **argv, const char *prefix) +int cmd_check_ignore(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int num_ignored; struct dir_struct dir = DIR_INIT; diff --git a/builtin/check-mailmap.c b/builtin/check-mailmap.c index b8a05b8e07b..87cc036dd14 100644 --- a/builtin/check-mailmap.c +++ b/builtin/check-mailmap.c @@ -40,7 +40,10 @@ static void check_mailmap(struct string_list *mailmap, const char *contact) printf("<%.*s>\n", (int)maillen, mail); } -int cmd_check_mailmap(int argc, const char **argv, const char *prefix) +int cmd_check_mailmap(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i; struct string_list mailmap = STRING_LIST_INIT_NODUP; diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c index 5eb6bdc3f69..6874edb4f41 100644 --- a/builtin/check-ref-format.c +++ b/builtin/check-ref-format.c @@ -51,7 +51,10 @@ static int check_ref_format_branch(const char *arg) return 0; } -int cmd_check_ref_format(int argc, const char **argv, const char *prefix) +int cmd_check_ref_format(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i; int normalize = 0; diff --git a/builtin/checkout--worker.c b/builtin/checkout--worker.c index 6b62b5375bd..f53e1082690 100644 --- a/builtin/checkout--worker.c +++ b/builtin/checkout--worker.c @@ -113,7 +113,10 @@ static const char * const checkout_worker_usage[] = { NULL }; -int cmd_checkout__worker(int argc, const char **argv, const char *prefix) +int cmd_checkout__worker(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct checkout state = CHECKOUT_INIT; struct option checkout_worker_options[] = { diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index 29e744d11be..98247ff8236 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -208,7 +208,10 @@ static int option_parse_stage(const struct option *opt, return 0; } -int cmd_checkout_index(int argc, const char **argv, const char *prefix) +int cmd_checkout_index(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i; struct lock_file lock_file = LOCK_INIT; diff --git a/builtin/checkout.c b/builtin/checkout.c index 4cfe6fab505..d3bc48684f9 100644 --- a/builtin/checkout.c +++ b/builtin/checkout.c @@ -1953,7 +1953,10 @@ static int checkout_main(int argc, const char **argv, const char *prefix, return ret; } -int cmd_checkout(int argc, const char **argv, const char *prefix) +int cmd_checkout(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct checkout_opts opts = CHECKOUT_OPTS_INIT; struct option *options; @@ -2000,7 +2003,10 @@ int cmd_checkout(int argc, const char **argv, const char *prefix) checkout_usage); } -int cmd_switch(int argc, const char **argv, const char *prefix) +int cmd_switch(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct checkout_opts opts = CHECKOUT_OPTS_INIT; struct option *options = NULL; @@ -2036,7 +2042,10 @@ int cmd_switch(int argc, const char **argv, const char *prefix) switch_branch_usage); } -int cmd_restore(int argc, const char **argv, const char *prefix) +int cmd_restore(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct checkout_opts opts = CHECKOUT_OPTS_INIT; struct option *options; diff --git a/builtin/clean.c b/builtin/clean.c index ded5a91534c..b5887f877e0 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -915,7 +915,10 @@ static void correct_untracked_entries(struct dir_struct *dir) dir->nr = dst; } -int cmd_clean(int argc, const char **argv, const char *prefix) +int cmd_clean(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i, res; int dry_run = 0, remove_directories = 0, quiet = 0, ignored = 0; diff --git a/builtin/clone.c b/builtin/clone.c index 269b6e18a4e..1b82310ac5b 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -956,7 +956,10 @@ static int path_exists(const char *path) return !stat(path, &sb); } -int cmd_clone(int argc, const char **argv, const char *prefix) +int cmd_clone(int argc, + const char **argv, + const char *prefix, + struct repository *repository UNUSED) { int is_bundle = 0, is_local; int reject_shallow = 0; diff --git a/builtin/column.c b/builtin/column.c index 10ff7e01668..93f84beeee7 100644 --- a/builtin/column.c +++ b/builtin/column.c @@ -18,7 +18,10 @@ static int column_config(const char *var, const char *value, return git_column_config(var, value, cb, &colopts); } -int cmd_column(int argc, const char **argv, const char *prefix) +int cmd_column(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct string_list list = STRING_LIST_INIT_DUP; struct strbuf sb = STRBUF_INIT; diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c index 7102ee90a00..65ce98d4675 100644 --- a/builtin/commit-graph.c +++ b/builtin/commit-graph.c @@ -331,7 +331,10 @@ cleanup: return result; } -int cmd_commit_graph(int argc, const char **argv, const char *prefix) +int cmd_commit_graph(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option builtin_commit_graph_options[] = { diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c index 84bb4502229..bd8bf3296ed 100644 --- a/builtin/commit-tree.c +++ b/builtin/commit-tree.c @@ -90,7 +90,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; diff --git a/builtin/commit.c b/builtin/commit.c index b2033c48877..768d76ac461 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1502,7 +1502,10 @@ static int git_status_config(const char *k, const char *v, return git_diff_ui_config(k, v, ctx, NULL); } -int cmd_status(int argc, const char **argv, const char *prefix) +int cmd_status(int argc, +const char **argv, +const char *prefix, +struct repository *repo UNUSED) { static int no_renames = -1; static const char *rename_score_arg = (const char *)-1; @@ -1641,7 +1644,10 @@ static int git_commit_config(const char *k, const char *v, return git_status_config(k, v, ctx, s); } -int cmd_commit(int argc, const char **argv, const char *prefix) +int cmd_commit(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { static struct wt_status s; static struct option builtin_commit_options[] = { diff --git a/builtin/config.c b/builtin/config.c index e00d983596b..841a5d706f4 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -1392,7 +1392,10 @@ out: return ret; } -int cmd_config(int argc, const char **argv, const char *prefix) +int cmd_config(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *subcommand = NULL; struct option subcommand_opts[] = { diff --git a/builtin/count-objects.c b/builtin/count-objects.c index ec6098a149d..6b905da3c3d 100644 --- a/builtin/count-objects.c +++ b/builtin/count-objects.c @@ -95,7 +95,10 @@ static char const * const count_objects_usage[] = { NULL }; -int cmd_count_objects(int argc, const char **argv, const char *prefix) +int cmd_count_objects(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int human_readable = 0; struct option opts[] = { diff --git a/builtin/credential-cache--daemon.c b/builtin/credential-cache--daemon.c index 4952b225477..4caaf38b841 100644 --- a/builtin/credential-cache--daemon.c +++ b/builtin/credential-cache--daemon.c @@ -287,7 +287,10 @@ static void init_socket_directory(const char *path) free(path_copy); } -int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix) +int cmd_credential_cache_daemon(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct tempfile *socket_file; const char *socket_path; @@ -330,7 +333,10 @@ int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix) #else -int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix) +int cmd_credential_cache_daemon(int argc, +const char **argv, +const char *prefix, +struct repository *repo UNUSED) { const char * const usage[] = { "git credential-cache--daemon [--debug] ", diff --git a/builtin/credential-cache.c b/builtin/credential-cache.c index aaf2f8438b4..5de8b9123bf 100644 --- a/builtin/credential-cache.c +++ b/builtin/credential-cache.c @@ -137,7 +137,10 @@ static void announce_capabilities(void) credential_announce_capabilities(&c, stdout); } -int cmd_credential_cache(int argc, const char **argv, const char *prefix) +int cmd_credential_cache(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *socket_path_arg = NULL; char *socket_path; diff --git a/builtin/credential-store.c b/builtin/credential-store.c index 97968bfa1c2..128704078e9 100644 --- a/builtin/credential-store.c +++ b/builtin/credential-store.c @@ -170,7 +170,10 @@ static void lookup_credential(const struct string_list *fns, struct credential * return; /* Found credential */ } -int cmd_credential_store(int argc, const char **argv, const char *prefix) +int cmd_credential_store(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char * const usage[] = { "git credential-store [] ", diff --git a/builtin/credential.c b/builtin/credential.c index b72e76dd9a6..796422c6fe7 100644 --- a/builtin/credential.c +++ b/builtin/credential.c @@ -6,7 +6,10 @@ static const char usage_msg[] = "git credential (fill|approve|reject)"; -int cmd_credential(int argc, const char **argv, const char *prefix UNUSED) +int cmd_credential(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { const char *op; struct credential c = CREDENTIAL_INIT; diff --git a/builtin/describe.c b/builtin/describe.c index b43093c099f..1c1c250fe0c 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -571,7 +571,10 @@ static int option_parse_exact_match(const struct option *opt, const char *arg, return 0; } -int cmd_describe(int argc, const char **argv, const char *prefix) +int cmd_describe(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED ) { int contains = 0; struct option options[] = { @@ -650,7 +653,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix) argv_copy[i] = args.v[i]; argv_copy[args.nr] = NULL; - ret = cmd_name_rev(args.nr, argv_copy, prefix); + ret = cmd_name_rev(args.nr, argv_copy, prefix, the_repository); strvec_clear(&args); free(argv_copy); diff --git a/builtin/diagnose.c b/builtin/diagnose.c index 4857a4395ba..66a22d918e6 100644 --- a/builtin/diagnose.c +++ b/builtin/diagnose.c @@ -11,7 +11,10 @@ static const char * const diagnose_usage[] = { NULL }; -int cmd_diagnose(int argc, const char **argv, const char *prefix) +int cmd_diagnose(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct strbuf zip_path = STRBUF_INIT; time_t now = time(NULL); diff --git a/builtin/diff-files.c b/builtin/diff-files.c index 018011f29ea..7f4f9bcb3eb 100644 --- a/builtin/diff-files.c +++ b/builtin/diff-files.c @@ -17,7 +17,10 @@ static const char diff_files_usage[] = "\n" COMMON_DIFF_OPTIONS_HELP; -int cmd_diff_files(int argc, const char **argv, const char *prefix) +int cmd_diff_files(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info rev; int result; diff --git a/builtin/diff-index.c b/builtin/diff-index.c index 685b60284fd..8abec38592f 100644 --- a/builtin/diff-index.c +++ b/builtin/diff-index.c @@ -14,7 +14,10 @@ static const char diff_cache_usage[] = "\n" COMMON_DIFF_OPTIONS_HELP; -int cmd_diff_index(int argc, const char **argv, const char *prefix) +int cmd_diff_index(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info rev; unsigned int option = 0; diff --git a/builtin/diff-tree.c b/builtin/diff-tree.c index b8df1d4b79b..841448b023f 100644 --- a/builtin/diff-tree.c +++ b/builtin/diff-tree.c @@ -108,7 +108,10 @@ static void diff_tree_tweak_rev(struct rev_info *rev) } } -int cmd_diff_tree(int argc, const char **argv, const char *prefix) +int cmd_diff_tree(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { char line[1000]; struct object *tree1, *tree2; diff --git a/builtin/diff.c b/builtin/diff.c index 6eac445579b..499b7872dd4 100644 --- a/builtin/diff.c +++ b/builtin/diff.c @@ -393,7 +393,10 @@ static void symdiff_release(struct symdiff *sdiff) bitmap_free(sdiff->skip); } -int cmd_diff(int argc, const char **argv, const char *prefix) +int cmd_diff(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i; struct rev_info rev; diff --git a/builtin/difftool.c b/builtin/difftool.c index dcc68e190c2..c8700d67f4d 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -690,7 +690,10 @@ static int run_file_diff(int prompt, const char *prefix, return run_command(child); } -int cmd_difftool(int argc, const char **argv, const char *prefix) +int cmd_difftool(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int use_gui_tool = -1, dir_diff = 0, prompt = -1, symlinks = 0, tool_help = 0, no_index = 0; diff --git a/builtin/fast-export.c b/builtin/fast-export.c index f253b79322a..1bd5949dd24 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -1180,7 +1180,10 @@ static int parse_opt_anonymize_map(const struct option *opt, return 0; } -int cmd_fast_export(int argc, const char **argv, const char *prefix) +int cmd_fast_export(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info revs; struct commit *commit; diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 2214c105f17..4b9e341aa44 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -3537,7 +3537,10 @@ static void parse_argv(void) build_mark_map(&sub_marks_from, &sub_marks_to); } -int cmd_fast_import(int argc, const char **argv, const char *prefix) +int cmd_fast_import(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { unsigned int i; diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index af329e8d5cf..fddd8a2c1cd 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -43,7 +43,10 @@ static void add_sought_entry(struct ref ***sought, int *nr, int *alloc, (*sought)[*nr - 1] = ref; } -int cmd_fetch_pack(int argc, const char **argv, const char *prefix UNUSED) +int cmd_fetch_pack(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { int i, ret; struct ref *ref = NULL; diff --git a/builtin/fetch.c b/builtin/fetch.c index c297569a473..46ecfc5bc62 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -2138,7 +2138,10 @@ static int fetch_one(struct remote *remote, int argc, const char **argv, return exit_code; } -int cmd_fetch(int argc, const char **argv, const char *prefix) +int cmd_fetch(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct fetch_config config = { .display_format = DISPLAY_FORMAT_FULL, diff --git a/builtin/fmt-merge-msg.c b/builtin/fmt-merge-msg.c index 957786d1b3a..1fba4cf5590 100644 --- a/builtin/fmt-merge-msg.c +++ b/builtin/fmt-merge-msg.c @@ -9,7 +9,10 @@ static const char * const fmt_merge_msg_usage[] = { NULL }; -int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix) +int cmd_fmt_merge_msg(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { char *inpath = NULL; const char *message = NULL; diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index 5517a4a1c08..b1187587135 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -16,7 +16,10 @@ static char const * const for_each_ref_usage[] = { NULL }; -int cmd_for_each_ref(int argc, const char **argv, const char *prefix) +int cmd_for_each_ref(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct ref_sorting *sorting; struct string_list sorting_options = STRING_LIST_INIT_DUP; diff --git a/builtin/for-each-repo.c b/builtin/for-each-repo.c index c4fa41fda9f..93d82b952e9 100644 --- a/builtin/for-each-repo.c +++ b/builtin/for-each-repo.c @@ -29,7 +29,10 @@ static int run_command_on_repo(const char *path, int argc, const char ** argv) return run_command(&child); } -int cmd_for_each_repo(int argc, const char **argv, const char *prefix) +int cmd_for_each_repo(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { static const char *config_key = NULL; int keep_going = 0; diff --git a/builtin/fsck.c b/builtin/fsck.c index 60f4e6fad97..87068cee09d 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -925,7 +925,10 @@ static struct option fsck_opts[] = { OPT_END(), }; -int cmd_fsck(int argc, const char **argv, const char *prefix) +int cmd_fsck(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i; struct object_directory *odb; diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c index 1593713f4cb..73a4b885661 100644 --- a/builtin/fsmonitor--daemon.c +++ b/builtin/fsmonitor--daemon.c @@ -1521,7 +1521,10 @@ static int try_to_start_background_daemon(void) } } -int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix) +int cmd_fsmonitor__daemon(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *subcmd; enum fsmonitor_reason reason; @@ -1584,7 +1587,7 @@ int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix) } #else -int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix UNUSED) +int cmd_fsmonitor__daemon(int argc, const char **argv, const char *prefix UNUSED, struct repository *repo UNUSED) { struct option options[] = { OPT_END() diff --git a/builtin/gc.c b/builtin/gc.c index 427faf1cfe1..0727de1ae8e 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -657,7 +657,10 @@ static void gc_before_repack(struct maintenance_run_opts *opts, } } -int cmd_gc(int argc, const char **argv, const char *prefix) +int cmd_gc(int argc, +const char **argv, +const char *prefix, +struct repository *repo UNUSED) { int aggressive = 0; int quiet = 0; @@ -2890,7 +2893,10 @@ static const char * const builtin_maintenance_usage[] = { NULL, }; -int cmd_maintenance(int argc, const char **argv, const char *prefix) +int cmd_maintenance(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option builtin_maintenance_options[] = { diff --git a/builtin/get-tar-commit-id.c b/builtin/get-tar-commit-id.c index 7195a072edc..6bec0d1854c 100644 --- a/builtin/get-tar-commit-id.c +++ b/builtin/get-tar-commit-id.c @@ -12,7 +12,10 @@ static const char builtin_get_tar_commit_id_usage[] = #define RECORDSIZE (512) #define HEADERSIZE (2 * RECORDSIZE) -int cmd_get_tar_commit_id(int argc, const char **argv UNUSED, const char *prefix) +int cmd_get_tar_commit_id(int argc, + const char **argv UNUSED, + const char *prefix, + struct repository *repo UNUSED) { char buffer[HEADERSIZE]; struct ustar_header *header = (struct ustar_header *)buffer; diff --git a/builtin/grep.c b/builtin/grep.c index dfc3c3e8bd2..da11879c637 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -888,7 +888,10 @@ static int pattern_callback(const struct option *opt, const char *arg, return 0; } -int cmd_grep(int argc, const char **argv, const char *prefix) +int cmd_grep(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int hit = 0; int cached = 0, untracked = 0, opt_exclude = -1; diff --git a/builtin/hash-object.c b/builtin/hash-object.c index c767414a0cc..090daea5cd8 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -84,7 +84,10 @@ static void hash_stdin_paths(const char *type, int no_filters, unsigned flags, strbuf_release(&unquoted); } -int cmd_hash_object(int argc, const char **argv, const char *prefix) +int cmd_hash_object(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { static const char * const hash_object_usage[] = { N_("git hash-object [-t ] [-w] [--path= | --no-filters]\n" diff --git a/builtin/help.c b/builtin/help.c index dc1fbe2b986..f7723bdf5c8 100644 --- a/builtin/help.c +++ b/builtin/help.c @@ -631,7 +631,10 @@ static void opt_mode_usage(int argc, const char *opt_mode, no_help_format(opt_mode, fmt); } -int cmd_help(int argc, const char **argv, const char *prefix) +int cmd_help(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int nongit; enum help_format parsed_help_format; diff --git a/builtin/hook.c b/builtin/hook.c index cc37438fdee..f02e2421ac0 100644 --- a/builtin/hook.c +++ b/builtin/hook.c @@ -66,7 +66,10 @@ usage: usage_with_options(builtin_hook_run_usage, run_options); } -int cmd_hook(int argc, const char **argv, const char *prefix) +int cmd_hook(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option builtin_hook_options[] = { diff --git a/builtin/index-pack.c b/builtin/index-pack.c index fd968d673d2..3207130bfee 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1718,7 +1718,10 @@ static void show_pack_info(int stat_only) free(chain_histogram); } -int cmd_index_pack(int argc, const char **argv, const char *prefix) +int cmd_index_pack(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i, fix_thin_pack = 0, verify = 0, stat_only = 0, rev_index; const char *curr_index; diff --git a/builtin/init-db.c b/builtin/init-db.c index 582dcf20f86..94bd6075095 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -70,7 +70,10 @@ static const char *const init_db_usage[] = { * On the other hand, it might just make lookup slower and messier. You * be the judge. The default case is to have one DB per managed directory. */ -int cmd_init_db(int argc, const char **argv, const char *prefix) +int cmd_init_db(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *git_dir; const char *real_git_dir = NULL; diff --git a/builtin/interpret-trailers.c b/builtin/interpret-trailers.c index 1d969494cf5..fb93e54e5ea 100644 --- a/builtin/interpret-trailers.c +++ b/builtin/interpret-trailers.c @@ -188,7 +188,10 @@ static void interpret_trailers(const struct process_trailer_options *opts, strbuf_release(&sb); } -int cmd_interpret_trailers(int argc, const char **argv, const char *prefix) +int cmd_interpret_trailers(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct process_trailer_options opts = PROCESS_TRAILER_OPTIONS_INIT; LIST_HEAD(trailers); diff --git a/builtin/log.c b/builtin/log.c index 36769bab3b6..67140575f4b 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -637,7 +637,10 @@ static int git_log_config(const char *var, const char *value, return git_diff_ui_config(var, value, ctx, cb); } -int cmd_whatchanged(int argc, const char **argv, const char *prefix) +int cmd_whatchanged(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct log_config cfg; struct rev_info rev; @@ -758,7 +761,10 @@ static void show_setup_revisions_tweak(struct rev_info *rev) rev->diffopt.output_format = DIFF_FORMAT_PATCH; } -int cmd_show(int argc, const char **argv, const char *prefix) +int cmd_show(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct log_config cfg; struct rev_info rev; @@ -874,7 +880,10 @@ int cmd_show(int argc, const char **argv, const char *prefix) /* * This is equivalent to "git log -g --abbrev-commit --pretty=oneline" */ -int cmd_log_reflog(int argc, const char **argv, const char *prefix) +int cmd_log_reflog(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct log_config cfg; struct rev_info rev; @@ -916,7 +925,10 @@ static void log_setup_revisions_tweak(struct rev_info *rev) diff_merges_default_to_first_parent(rev); } -int cmd_log(int argc, const char **argv, const char *prefix) +int cmd_log(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct log_config cfg; struct rev_info rev; @@ -1986,7 +1998,10 @@ static void infer_range_diff_ranges(struct strbuf *r1, } } -int cmd_format_patch(int argc, const char **argv, const char *prefix) +int cmd_format_patch(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct format_config cfg; struct commit *commit; @@ -2619,7 +2634,10 @@ static void print_commit(char sign, struct commit *commit, int verbose, } } -int cmd_cherry(int argc, const char **argv, const char *prefix) +int cmd_cherry(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info revs; struct patch_ids ids; diff --git a/builtin/ls-files.c b/builtin/ls-files.c index 6eeb5cba783..7f45cb62cf6 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -561,7 +561,10 @@ static int option_parse_exclude_standard(const struct option *opt, return 0; } -int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix) +int cmd_ls_files(int argc, + const char **argv, + const char *cmd_prefix, + struct repository *repo UNUSED) { int require_work_tree = 0, show_tag = 0, i; char *max_prefix; diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c index 0a491595ca8..f2c2854d0c3 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -37,7 +37,10 @@ static int tail_match(const struct strvec *pattern, const char *path) return 0; } -int cmd_ls_remote(int argc, const char **argv, const char *prefix) +int cmd_ls_remote(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *dest = NULL; unsigned flags = 0; diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index bf372c67d77..363cb948d92 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -329,7 +329,10 @@ static struct ls_tree_cmdmode_to_fmt ls_tree_cmdmode_format[] = { }, }; -int cmd_ls_tree(int argc, const char **argv, const char *prefix) +int cmd_ls_tree(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct object_id oid; struct tree *tree; diff --git a/builtin/mailinfo.c b/builtin/mailinfo.c index 53a22645da5..00bfcd1afa0 100644 --- a/builtin/mailinfo.c +++ b/builtin/mailinfo.c @@ -48,7 +48,10 @@ static int parse_opt_quoted_cr(const struct option *opt, const char *arg, int un return 0; } -int cmd_mailinfo(int argc, const char **argv, const char *prefix) +int cmd_mailinfo(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct metainfo_charset meta_charset; struct mailinfo mi; diff --git a/builtin/mailsplit.c b/builtin/mailsplit.c index fe6dbc5d053..b8f7150ce9a 100644 --- a/builtin/mailsplit.c +++ b/builtin/mailsplit.c @@ -269,7 +269,10 @@ out: return ret; } -int cmd_mailsplit(int argc, const char **argv, const char *prefix) +int cmd_mailsplit(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int nr = 0, nr_prec = 4, num = 0; int allow_bare = 0; diff --git a/builtin/merge-base.c b/builtin/merge-base.c index 5a8e7295029..afeae8d8346 100644 --- a/builtin/merge-base.c +++ b/builtin/merge-base.c @@ -143,7 +143,10 @@ static int handle_fork_point(int argc, const char **argv) return 0; } -int cmd_merge_base(int argc, const char **argv, const char *prefix) +int cmd_merge_base(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct commit **rev; int rev_nr = 0; diff --git a/builtin/merge-file.c b/builtin/merge-file.c index 1f987334a31..f785813ddae 100644 --- a/builtin/merge-file.c +++ b/builtin/merge-file.c @@ -53,7 +53,10 @@ static int diff_algorithm_cb(const struct option *opt, return 0; } -int cmd_merge_file(int argc, const char **argv, const char *prefix) +int cmd_merge_file(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *names[3] = { 0 }; mmfile_t mmfs[3] = { 0 }; diff --git a/builtin/merge-index.c b/builtin/merge-index.c index 0fabe3f6bb2..1309a8ff471 100644 --- a/builtin/merge-index.c +++ b/builtin/merge-index.c @@ -73,7 +73,10 @@ static void merge_all(void) } } -int cmd_merge_index(int argc, const char **argv, const char *prefix UNUSED) +int cmd_merge_index(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { int i, force_file = 0; diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c index 932924e5d0e..62267f12dd8 100644 --- a/builtin/merge-ours.c +++ b/builtin/merge-ours.c @@ -15,7 +15,10 @@ static const char builtin_merge_ours_usage[] = "git merge-ours ... -- HEAD ..."; -int cmd_merge_ours(int argc, const char **argv, const char *prefix UNUSED) +int cmd_merge_ours(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { if (argc == 2 && !strcmp(argv[1], "-h")) usage(builtin_merge_ours_usage); diff --git a/builtin/merge-recursive.c b/builtin/merge-recursive.c index e951b09805d..2bd3fb0e553 100644 --- a/builtin/merge-recursive.c +++ b/builtin/merge-recursive.c @@ -21,7 +21,10 @@ static char *better_branch_name(const char *branch) return xstrdup(name ? name : branch); } -int cmd_merge_recursive(int argc, const char **argv, const char *prefix UNUSED) +int cmd_merge_recursive(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { struct object_id bases[21]; unsigned bases_count = 0; diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c index 9bca9b5f33c..8751d86fd0f 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -526,7 +526,10 @@ static int real_merge(struct merge_tree_options *o, return !result.clean; /* result.clean < 0 handled above */ } -int cmd_merge_tree(int argc, const char **argv, const char *prefix) +int cmd_merge_tree(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct merge_tree_options o = { .show_messages = -1 }; struct strvec xopts = STRVEC_INIT; diff --git a/builtin/merge.c b/builtin/merge.c index 662a49a0e8c..fd6dc00d6c0 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1275,7 +1275,10 @@ static int merging_a_throwaway_tag(struct commit *commit) return is_throwaway_tag; } -int cmd_merge(int argc, const char **argv, const char *prefix) +int cmd_merge(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct object_id result_tree, stash, head_oid; struct commit *head_commit; @@ -1347,7 +1350,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) REF_NO_DEREF); /* Invoke 'git reset --merge' */ - ret = cmd_reset(nargc, nargv, prefix); + ret = cmd_reset(nargc, nargv, prefix, the_repository); if (!is_null_oid(&stash_oid)) { oid_to_hex_r(stash_oid_hex, &stash_oid); @@ -1379,7 +1382,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) die(_("There is no merge in progress (MERGE_HEAD missing).")); /* Invoke 'git commit' */ - ret = cmd_commit(nargc, nargv, prefix); + ret = cmd_commit(nargc, nargv, prefix, the_repository); goto done; } diff --git a/builtin/mktag.c b/builtin/mktag.c index c6b644219fb..5cd8a3e6fa0 100644 --- a/builtin/mktag.c +++ b/builtin/mktag.c @@ -71,7 +71,10 @@ static int verify_object_in_tag(struct object_id *tagged_oid, int *tagged_type) return ret; } -int cmd_mktag(int argc, const char **argv, const char *prefix) +int cmd_mktag(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { static struct option builtin_mktag_options[] = { OPT_BOOL(0, "strict", &option_strict, diff --git a/builtin/mktree.c b/builtin/mktree.c index 9a22d4e2773..72a1af1bca5 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -150,7 +150,10 @@ static void mktree_line(char *buf, int nul_term_line, int allow_missing) free(to_free); } -int cmd_mktree(int ac, const char **av, const char *prefix) +int cmd_mktree(int ac, + const char **av, + const char *prefix, + struct repository *repo UNUSED) { struct strbuf sb = STRBUF_INIT; struct object_id oid; @@ -199,5 +202,6 @@ int cmd_mktree(int ac, const char **av, const char *prefix) used=0; /* reset tree entry buffer for re-use in batch mode */ } strbuf_release(&sb); + return 0; } diff --git a/builtin/multi-pack-index.c b/builtin/multi-pack-index.c index 8805cbbeb3b..154fc77075f 100644 --- a/builtin/multi-pack-index.c +++ b/builtin/multi-pack-index.c @@ -267,8 +267,10 @@ static int cmd_multi_pack_index_repack(int argc, const char **argv, (size_t)opts.batch_size, opts.flags); } -int cmd_multi_pack_index(int argc, const char **argv, - const char *prefix) +int cmd_multi_pack_index(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int res; parse_opt_subcommand_fn *fn = NULL; diff --git a/builtin/mv.c b/builtin/mv.c index 6c69033c5f5..6e2eb9cf4b8 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -178,7 +178,10 @@ static void remove_empty_src_dirs(const char **src_dir, size_t src_dir_nr) strbuf_release(&a_src_dir); } -int cmd_mv(int argc, const char **argv, const char *prefix) +int cmd_mv(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i, flags, gitmodules_modified = 0; int verbose = 0, show_only = 0, force = 0, ignore_errors = 0, ignore_sparse = 0; diff --git a/builtin/name-rev.c b/builtin/name-rev.c index a468ef84c37..19d92fb382d 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -558,7 +558,10 @@ static void name_rev_line(char *p, struct name_ref_data *data) strbuf_release(&buf); } -int cmd_name_rev(int argc, const char **argv, const char *prefix) +int cmd_name_rev(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct mem_pool string_pool; struct object_array revs = OBJECT_ARRAY_INIT; diff --git a/builtin/notes.c b/builtin/notes.c index 04f9dfb7fbd..49d8364af60 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -1096,7 +1096,10 @@ static int get_ref(int argc, const char **argv, const char *prefix) return 0; } -int cmd_notes(int argc, const char **argv, const char *prefix) +int cmd_notes(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *override_notes_ref = NULL; parse_opt_subcommand_fn *fn = NULL; diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 778be80f564..127972f3cdf 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -4284,7 +4284,10 @@ static int option_parse_cruft_expiration(const struct option *opt UNUSED, return 0; } -int cmd_pack_objects(int argc, const char **argv, const char *prefix) +int cmd_pack_objects(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int use_internal_rev_list = 0; int shallow = 0; diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c index dd9bf35f5b8..84f0d83affb 100644 --- a/builtin/pack-redundant.c +++ b/builtin/pack-redundant.c @@ -561,11 +561,8 @@ static void load_all(void) } } -int cmd_pack_redundant(int argc, const char **argv, const char *prefix UNUSED) -{ - int i; - int i_still_use_this = 0; - struct pack_list *min = NULL, *red, *pl; +int cmd_pack_redundant(int argc, const char **argv, const char *prefix UNUSED, struct repository *repo UNUSED) { + int i; int i_still_use_this = 0; struct pack_list *min = NULL, *red, *pl; struct llist *ignore; struct object_id *oid; char buf[GIT_MAX_HEXSZ + 2]; /* hex hash + \n + \0 */ diff --git a/builtin/pack-refs.c b/builtin/pack-refs.c index db408256663..67dabb39756 100644 --- a/builtin/pack-refs.c +++ b/builtin/pack-refs.c @@ -11,7 +11,10 @@ static char const * const pack_refs_usage[] = { NULL }; -int cmd_pack_refs(int argc, const char **argv, const char *prefix) +int cmd_pack_refs(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct ref_exclusions excludes = REF_EXCLUSIONS_INIT; struct string_list included_refs = STRING_LIST_INIT_NODUP; diff --git a/builtin/patch-id.c b/builtin/patch-id.c index 35c1179f7e9..fa31a1b7a60 100644 --- a/builtin/patch-id.c +++ b/builtin/patch-id.c @@ -260,7 +260,10 @@ static int git_patch_id_config(const char *var, const char *value, return git_default_config(var, value, ctx, cb); } -int cmd_patch_id(int argc, const char **argv, const char *prefix) +int cmd_patch_id(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { /* if nothing is set, default to unstable */ struct patch_id_opts config = {0, 0}; diff --git a/builtin/prune-packed.c b/builtin/prune-packed.c index ca3578e1588..4d63f26b0a1 100644 --- a/builtin/prune-packed.c +++ b/builtin/prune-packed.c @@ -8,7 +8,10 @@ static const char * const prune_packed_usage[] = { NULL }; -int cmd_prune_packed(int argc, const char **argv, const char *prefix) +int cmd_prune_packed(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int opts = isatty(2) ? PRUNE_PACKED_VERBOSE : 0; const struct option prune_packed_options[] = { diff --git a/builtin/prune.c b/builtin/prune.c index 57fe31467fe..cbd4c38fa0a 100644 --- a/builtin/prune.c +++ b/builtin/prune.c @@ -147,7 +147,10 @@ static void remove_temporary_files(const char *path) closedir(dir); } -int cmd_prune(int argc, const char **argv, const char *prefix) +int cmd_prune(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info revs; int exclude_promisor_objects = 0; diff --git a/builtin/pull.c b/builtin/pull.c index 4c54d8196fa..1a926f0b0d7 100644 --- a/builtin/pull.c +++ b/builtin/pull.c @@ -977,7 +977,10 @@ static void show_advice_pull_non_ff(void) "invocation.\n")); } -int cmd_pull(int argc, const char **argv, const char *prefix) +int cmd_pull(int argc, + const char **argv, + const char *prefix, + struct repository *repository UNUSED) { const char *repo, **refspecs; struct oid_array merge_heads = OID_ARRAY_INIT; diff --git a/builtin/push.c b/builtin/push.c index 7a67398124f..9636ad52f4d 100644 --- a/builtin/push.c +++ b/builtin/push.c @@ -546,7 +546,10 @@ static int git_push_config(const char *k, const char *v, return git_default_config(k, v, ctx, NULL); } -int cmd_push(int argc, const char **argv, const char *prefix) +int cmd_push(int argc, + const char **argv, + const char *prefix, + struct repository *repository UNUSED) { int flags = 0; int tags = 0; diff --git a/builtin/range-diff.c b/builtin/range-diff.c index f02cbac087d..3e67259aecc 100644 --- a/builtin/range-diff.c +++ b/builtin/range-diff.c @@ -13,7 +13,10 @@ N_("git range-diff [] "), NULL }; -int cmd_range_diff(int argc, const char **argv, const char *prefix) +int cmd_range_diff(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct diff_options diffopt = { NULL }; struct strvec other_arg = STRVEC_INIT; diff --git a/builtin/read-tree.c b/builtin/read-tree.c index a8cf8504b8a..89410db6a7a 100644 --- a/builtin/read-tree.c +++ b/builtin/read-tree.c @@ -108,7 +108,10 @@ static int git_read_tree_config(const char *var, const char *value, return git_default_config(var, value, ctx, cb); } -int cmd_read_tree(int argc, const char **argv, const char *cmd_prefix) +int cmd_read_tree(int argc, + const char **argv, + const char *cmd_prefix, + struct repository *repo UNUSED) { int i, stage = 0; struct object_id oid; diff --git a/builtin/rebase.c b/builtin/rebase.c index a2c96c080e1..727d9df847f 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -1063,7 +1063,10 @@ static int check_exec_cmd(const char *cmd) return 0; } -int cmd_rebase(int argc, const char **argv, const char *prefix) +int cmd_rebase(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rebase_options options = REBASE_OPTIONS_INIT; const char *branch_name; diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 3f35140e489..36a6229c2a4 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -2480,7 +2480,10 @@ static int delete_only(struct command *commands) return 1; } -int cmd_receive_pack(int argc, const char **argv, const char *prefix) +int cmd_receive_pack(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int advertise_refs = 0; struct command *commands; diff --git a/builtin/reflog.c b/builtin/reflog.c index 0d2ff95c6e7..6250f5ad49f 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -244,7 +244,7 @@ static int cmd_reflog_show(int argc, const char **argv, const char *prefix) PARSE_OPT_KEEP_DASHDASH | PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN_OPT); - return cmd_log_reflog(argc, argv, prefix); + return cmd_log_reflog(argc, argv, prefix, the_repository); } static int show_reflog(const char *refname, void *cb_data UNUSED) @@ -447,7 +447,10 @@ static int cmd_reflog_exists(int argc, const char **argv, const char *prefix) * main "reflog" */ -int cmd_reflog(int argc, const char **argv, const char *prefix) +int cmd_reflog(int argc, + const char **argv, + const char *prefix, + struct repository *repository) { parse_opt_subcommand_fn *fn = NULL; struct option options[] = { @@ -466,5 +469,5 @@ int cmd_reflog(int argc, const char **argv, const char *prefix) if (fn) return fn(argc - 1, argv + 1, prefix); else - return cmd_log_reflog(argc, argv, prefix); + return cmd_log_reflog(argc, argv, prefix, repository); } diff --git a/builtin/refs.c b/builtin/refs.c index 131f98be986..70bca724d2a 100644 --- a/builtin/refs.c +++ b/builtin/refs.c @@ -90,7 +90,10 @@ static int cmd_refs_verify(int argc, const char **argv, const char *prefix) return ret; } -int cmd_refs(int argc, const char **argv, const char *prefix) +int cmd_refs(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char * const refs_usage[] = { REFS_MIGRATE_USAGE, diff --git a/builtin/remote-ext.c b/builtin/remote-ext.c index 282782eccdd..33c8ae0fc7d 100644 --- a/builtin/remote-ext.c +++ b/builtin/remote-ext.c @@ -195,7 +195,10 @@ static int command_loop(const char *child) } } -int cmd_remote_ext(int argc, const char **argv, const char *prefix) +int cmd_remote_ext(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { BUG_ON_NON_EMPTY_PREFIX(prefix); diff --git a/builtin/remote-fd.c b/builtin/remote-fd.c index 9020fab9c58..ae896eda57b 100644 --- a/builtin/remote-fd.c +++ b/builtin/remote-fd.c @@ -53,7 +53,10 @@ static void command_loop(int input_fd, int output_fd) } } -int cmd_remote_fd(int argc, const char **argv, const char *prefix) +int cmd_remote_fd(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int input_fd = -1; int output_fd = -1; diff --git a/builtin/remote.c b/builtin/remote.c index d1f9292ed2b..1ac7e5fbce3 100644 --- a/builtin/remote.c +++ b/builtin/remote.c @@ -1754,7 +1754,10 @@ out: return 0; } -int cmd_remote(int argc, const char **argv, const char *prefix) +int cmd_remote(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option options[] = { diff --git a/builtin/repack.c b/builtin/repack.c index 62cfa50c50f..a6f2a4de1b8 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -1116,7 +1116,10 @@ static const char *find_pack_prefix(const char *packdir, const char *packtmp) return pack_prefix; } -int cmd_repack(int argc, const char **argv, const char *prefix) +int cmd_repack(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct child_process cmd = CHILD_PROCESS_INIT; struct string_list_item *item; diff --git a/builtin/replace.c b/builtin/replace.c index 34cc4672bc1..293ae6d327f 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -545,7 +545,10 @@ static int convert_graft_file(int force) return -1; } -int cmd_replace(int argc, const char **argv, const char *prefix) +int cmd_replace(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int force = 0; int raw = 0; diff --git a/builtin/replay.c b/builtin/replay.c index 138198ce9ca..c8e9098fc12 100644 --- a/builtin/replay.c +++ b/builtin/replay.c @@ -274,7 +274,10 @@ static struct commit *pick_regular_commit(struct commit *pickme, return create_commit(result->tree, pickme, replayed_base); } -int cmd_replay(int argc, const char **argv, const char *prefix) +int cmd_replay(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *advance_name_opt = NULL; char *advance_name = NULL; diff --git a/builtin/rerere.c b/builtin/rerere.c index 81b65ffa39c..ae345155834 100644 --- a/builtin/rerere.c +++ b/builtin/rerere.c @@ -48,7 +48,10 @@ static int diff_two(const char *file1, const char *label1, return ret; } -int cmd_rerere(int argc, const char **argv, const char *prefix) +int cmd_rerere(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct string_list merge_rr = STRING_LIST_INIT_DUP; int i, autoupdate = -1, flags = 0; diff --git a/builtin/reset.c b/builtin/reset.c index 5f941fb3a29..75529072606 100644 --- a/builtin/reset.c +++ b/builtin/reset.c @@ -330,7 +330,10 @@ static int git_reset_config(const char *var, const char *value, return git_default_config(var, value, ctx, cb); } -int cmd_reset(int argc, const char **argv, const char *prefix) +int cmd_reset(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int reset_type = NONE, update_ref_status = 0, quiet = 0; int no_refresh = 0; diff --git a/builtin/rev-list.c b/builtin/rev-list.c index 97d077a9943..a4186d47ce3 100644 --- a/builtin/rev-list.c +++ b/builtin/rev-list.c @@ -513,7 +513,10 @@ static int try_bitmap_disk_usage(struct rev_info *revs, return 0; } -int cmd_rev_list(int argc, const char **argv, const char *prefix) +int cmd_rev_list(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct rev_info revs; struct rev_list_info info; diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 4285dc34a7b..26190aaa3ed 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -688,7 +688,10 @@ static void print_path(const char *path, const char *prefix, enum format_type fo free(cwd); } -int cmd_rev_parse(int argc, const char **argv, const char *prefix) +int cmd_rev_parse(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i, as_is = 0, verify = 0, quiet = 0, revs_count = 0, type = 0; const struct git_hash_algo *output_algo = NULL; diff --git a/builtin/revert.c b/builtin/revert.c index 7bf2b4e11d6..5f2ec3ade73 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -261,7 +261,10 @@ static int run_sequencer(int argc, const char **argv, const char *prefix, return sequencer_pick_revisions(the_repository, opts); } -int cmd_revert(int argc, const char **argv, const char *prefix) +int cmd_revert(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct replay_opts opts = REPLAY_OPTS_INIT; int res; @@ -275,7 +278,10 @@ int cmd_revert(int argc, const char **argv, const char *prefix) return res; } -int cmd_cherry_pick(int argc, const char **argv, const char *prefix) +int cmd_cherry_pick(int argc, +const char **argv, +const char *prefix, +struct repository *repo UNUSED) { struct replay_opts opts = REPLAY_OPTS_INIT; int res; diff --git a/builtin/rm.c b/builtin/rm.c index 0e79cbab62b..59077efa4b4 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -261,7 +261,10 @@ static struct option builtin_rm_options[] = { OPT_END(), }; -int cmd_rm(int argc, const char **argv, const char *prefix) +int cmd_rm(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct lock_file lock_file = LOCK_INIT; int i, ret = 0; diff --git a/builtin/send-pack.c b/builtin/send-pack.c index 17cae6bbbdf..a4925ed5fd1 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -147,7 +147,10 @@ static int send_pack_config(const char *k, const char *v, return git_default_config(k, v, ctx, cb); } -int cmd_send_pack(int argc, const char **argv, const char *prefix) +int cmd_send_pack(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct refspec rs = REFSPEC_INIT_PUSH; const char *remote_name = NULL; diff --git a/builtin/shortlog.c b/builtin/shortlog.c index b529608c923..70eb7890334 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -378,7 +378,10 @@ void shortlog_finish_setup(struct shortlog *log) string_list_sort(&log->trailers); } -int cmd_shortlog(int argc, const char **argv, const char *prefix) +int cmd_shortlog(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct shortlog log = { STRING_LIST_INIT_NODUP }; struct rev_info rev; diff --git a/builtin/show-branch.c b/builtin/show-branch.c index 29237f653d8..05c10628df9 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -632,7 +632,10 @@ static int parse_reflog_param(const struct option *opt, const char *arg, return 0; } -int cmd_show_branch(int ac, const char **av, const char *prefix) +int cmd_show_branch(int ac, + const char **av, + const char *prefix, + struct repository *repo UNUSED) { struct commit *rev[MAX_REVS], *commit; char *reflog_msg[MAX_REVS] = {0}; diff --git a/builtin/show-index.c b/builtin/show-index.c index 540dc3dad1c..9e1f7ac9ca5 100644 --- a/builtin/show-index.c +++ b/builtin/show-index.c @@ -11,7 +11,10 @@ static const char *const show_index_usage[] = { NULL }; -int cmd_show_index(int argc, const char **argv, const char *prefix) +int cmd_show_index(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i; unsigned nr; diff --git a/builtin/show-ref.c b/builtin/show-ref.c index f5899ce9ff7..6ee05f09a69 100644 --- a/builtin/show-ref.c +++ b/builtin/show-ref.c @@ -287,7 +287,10 @@ static int exclude_existing_callback(const struct option *opt, const char *arg, return 0; } -int cmd_show_ref(int argc, const char **argv, const char *prefix) +int cmd_show_ref(int argc, +const char **argv, +const char *prefix, +struct repository *repo UNUSED) { struct exclude_existing_options exclude_existing_opts = {0}; struct patterns_options patterns_opts = {0}; diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c index 2604ab04df5..23f1548fe54 100644 --- a/builtin/sparse-checkout.c +++ b/builtin/sparse-checkout.c @@ -1030,7 +1030,10 @@ static int sparse_checkout_check_rules(int argc, const char **argv, const char * return ret; } -int cmd_sparse_checkout(int argc, const char **argv, const char *prefix) +int cmd_sparse_checkout(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option builtin_sparse_checkout_options[] = { diff --git a/builtin/stash.c b/builtin/stash.c index fcfd97972a4..518d297b47b 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -1871,7 +1871,10 @@ static int save_stash(int argc, const char **argv, const char *prefix) return ret; } -int cmd_stash(int argc, const char **argv, const char *prefix) +int cmd_stash(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { pid_t pid = getpid(); const char *index_file; diff --git a/builtin/stripspace.c b/builtin/stripspace.c index e5626e51266..674ef939769 100644 --- a/builtin/stripspace.c +++ b/builtin/stripspace.c @@ -29,7 +29,10 @@ enum stripspace_mode { COMMENT_LINES }; -int cmd_stripspace(int argc, const char **argv, const char *prefix) +int cmd_stripspace(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct strbuf buf = STRBUF_INIT; enum stripspace_mode mode = STRIP_DEFAULT; diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 85fb23dee84..947bd9d0f6a 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -3528,7 +3528,10 @@ cleanup: return ret; } -int cmd_submodule__helper(int argc, const char **argv, const char *prefix) +int cmd_submodule__helper(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; const char *const usage[] = { diff --git a/builtin/symbolic-ref.c b/builtin/symbolic-ref.c index 81abdd170fe..9bc70229468 100644 --- a/builtin/symbolic-ref.c +++ b/builtin/symbolic-ref.c @@ -41,7 +41,10 @@ static int check_symref(const char *HEAD, int quiet, int shorten, int recurse, i return 0; } -int cmd_symbolic_ref(int argc, const char **argv, const char *prefix) +int cmd_symbolic_ref(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int quiet = 0, delete = 0, shorten = 0, recurse = 1, ret = 0; const char *msg = NULL; diff --git a/builtin/tag.c b/builtin/tag.c index a1fb218512c..a80838eb8e0 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -457,7 +457,10 @@ static int strbuf_check_tag_ref(struct strbuf *sb, const char *name) return check_refname_format(sb->buf, 0); } -int cmd_tag(int argc, const char **argv, const char *prefix) +int cmd_tag(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct strbuf buf = STRBUF_INIT; struct strbuf ref = STRBUF_INIT; diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index c129e2bb6cb..97886840f8d 100644 --- a/builtin/unpack-file.c +++ b/builtin/unpack-file.c @@ -25,7 +25,10 @@ static char *create_temp_file(struct object_id *oid) return path; } -int cmd_unpack_file(int argc, const char **argv, const char *prefix UNUSED) +int cmd_unpack_file(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { struct object_id oid; diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 08fa2a7a743..3bcdaaeb5fa 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -601,7 +601,10 @@ static void unpack_all(void) die("unresolved deltas left after unpacking"); } -int cmd_unpack_objects(int argc, const char **argv, const char *prefix UNUSED) +int cmd_unpack_objects(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { int i; struct object_id oid; diff --git a/builtin/update-index.c b/builtin/update-index.c index 35a1f957adc..1d1d87d08e3 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -917,7 +917,10 @@ static enum parse_opt_result reupdate_callback( return 0; } -int cmd_update_index(int argc, const char **argv, const char *prefix) +int cmd_update_index(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int newfd, entries, has_errors = 0, nul_term_line = 0; enum uc_mode untracked_cache = UC_UNSPECIFIED; diff --git a/builtin/update-ref.c b/builtin/update-ref.c index 8f31da9a4b7..06826a90515 100644 --- a/builtin/update-ref.c +++ b/builtin/update-ref.c @@ -713,7 +713,10 @@ static void update_refs_stdin(void) strbuf_release(&input); } -int cmd_update_ref(int argc, const char **argv, const char *prefix) +int cmd_update_ref(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *refname, *oldval; struct object_id oid, oldoid; diff --git a/builtin/update-server-info.c b/builtin/update-server-info.c index 1dc3971edeb..a5b7d86727c 100644 --- a/builtin/update-server-info.c +++ b/builtin/update-server-info.c @@ -9,7 +9,10 @@ static const char * const update_server_info_usage[] = { NULL }; -int cmd_update_server_info(int argc, const char **argv, const char *prefix) +int cmd_update_server_info(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int force = 0; struct option options[] = { diff --git a/builtin/upload-archive.c b/builtin/upload-archive.c index 1b09e5e1aa3..49d1bb7fb44 100644 --- a/builtin/upload-archive.c +++ b/builtin/upload-archive.c @@ -18,7 +18,10 @@ static const char deadchild[] = #define MAX_ARGS (64) -int cmd_upload_archive_writer(int argc, const char **argv, const char *prefix) +int cmd_upload_archive_writer(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { struct strvec sent_argv = STRVEC_INIT; const char *arg_cmd = "argument "; @@ -76,7 +79,10 @@ static ssize_t process_input(int child_fd, int band) return sz; } -int cmd_upload_archive(int argc, const char **argv, const char *prefix) +int cmd_upload_archive(int argc, +const char **argv, +const char *prefix, +struct repository *repo UNUSED) { struct child_process writer = CHILD_PROCESS_INIT; diff --git a/builtin/upload-pack.c b/builtin/upload-pack.c index 46d93278d9a..3b6c83fbce3 100644 --- a/builtin/upload-pack.c +++ b/builtin/upload-pack.c @@ -17,7 +17,10 @@ static const char * const upload_pack_usage[] = { NULL }; -int cmd_upload_pack(int argc, const char **argv, const char *prefix) +int cmd_upload_pack(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { const char *dir; int strict = 0; diff --git a/builtin/var.c b/builtin/var.c index e30ff45be1c..4a5c2649d6f 100644 --- a/builtin/var.c +++ b/builtin/var.c @@ -210,7 +210,10 @@ static int show_config(const char *var, const char *value, return git_default_config(var, value, ctx, cb); } -int cmd_var(int argc, const char **argv, const char *prefix UNUSED) +int cmd_var(int argc, + const char **argv, + const char *prefix UNUSED, + struct repository *repo UNUSED) { const struct git_var *git_var; char *val; diff --git a/builtin/verify-commit.c b/builtin/verify-commit.c index 0d2b9aea2ae..c5859e5b2b4 100644 --- a/builtin/verify-commit.c +++ b/builtin/verify-commit.c @@ -51,7 +51,10 @@ static int verify_commit(const char *name, unsigned flags) return run_gpg_verify((struct commit *)obj, flags); } -int cmd_verify_commit(int argc, const char **argv, const char *prefix) +int cmd_verify_commit(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i = 1, verbose = 0, had_error = 0; unsigned flags = 0; diff --git a/builtin/verify-pack.c b/builtin/verify-pack.c index 011dddd2dc3..7ad456649d2 100644 --- a/builtin/verify-pack.c +++ b/builtin/verify-pack.c @@ -61,7 +61,10 @@ static const char * const verify_pack_usage[] = { NULL }; -int cmd_verify_pack(int argc, const char **argv, const char *prefix) +int cmd_verify_pack(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int err = 0; unsigned int flags = 0; diff --git a/builtin/verify-tag.c b/builtin/verify-tag.c index c731e2f87b4..a7bef524191 100644 --- a/builtin/verify-tag.c +++ b/builtin/verify-tag.c @@ -19,7 +19,10 @@ static const char * const verify_tag_usage[] = { NULL }; -int cmd_verify_tag(int argc, const char **argv, const char *prefix) +int cmd_verify_tag(int argc, + const char **argv, + const char *prefix, + struct repository *repo UNUSED) { int i = 1, verbose = 0, had_error = 0; unsigned flags = 0; diff --git a/builtin/worktree.c b/builtin/worktree.c index 41e7f6a3271..3b47f9832fa 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -1392,7 +1392,10 @@ static int repair(int ac, const char **av, const char *prefix) return rc; } -int cmd_worktree(int ac, const char **av, const char *prefix) +int cmd_worktree(int ac, + const char **av, + const char *prefix, + struct repository *repo UNUSED) { parse_opt_subcommand_fn *fn = NULL; struct option options[] = { diff --git a/builtin/write-tree.c b/builtin/write-tree.c index 8c75b4609b5..1b467d6ed23 100644 --- a/builtin/write-tree.c +++ b/builtin/write-tree.c @@ -19,7 +19,10 @@ static const char * const write_tree_usage[] = { NULL }; -int cmd_write_tree(int argc, const char **argv, const char *cmd_prefix) +int cmd_write_tree(int argc, + const char **argv, + const char *cmd_prefix, + struct repository *repo UNUSED) { int flags = 0, ret; const char *tree_prefix = NULL; diff --git a/git.c b/git.c index 9a618a2740f..2fbea24ec92 100644 --- a/git.c +++ b/git.c @@ -31,7 +31,7 @@ struct cmd_struct { const char *cmd; - int (*fn)(int, const char **, const char *); + int (*fn)(int, const char **, const char *, struct repository *); unsigned int option; }; @@ -441,7 +441,7 @@ static int handle_alias(int *argcp, const char ***argv) return ret; } -static int run_builtin(struct cmd_struct *p, int argc, const char **argv) +static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct repository *repo) { int status, help; struct stat st; @@ -479,9 +479,9 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv) trace_argv_printf(argv, "trace: built-in: git"); trace2_cmd_name(p->cmd); - validate_cache_entries(the_repository->index); - status = p->fn(argc, argv, prefix); - validate_cache_entries(the_repository->index); + validate_cache_entries(repo->index); + status = p->fn(argc, argv, prefix, (p->option & RUN_SETUP)? repo : NULL); + validate_cache_entries(repo->index); if (status) return status; @@ -736,7 +736,7 @@ static void handle_builtin(int argc, const char **argv) builtin = get_builtin(cmd); if (builtin) - exit(run_builtin(builtin, argc, argv)); + exit(run_builtin(builtin, argc, argv, the_repository)); strvec_clear(&args); } diff --git a/help.c b/help.c index c03863f2265..e7cdfab6432 100644 --- a/help.c +++ b/help.c @@ -16,6 +16,7 @@ #include "parse-options.h" #include "prompt.h" #include "fsmonitor-ipc.h" +#include "repository.h" #ifndef NO_CURL #include "git-curl-compat.h" /* For LIBCURL_VERSION only */ @@ -775,7 +776,7 @@ void get_version_info(struct strbuf *buf, int show_build_options) } } -int cmd_version(int argc, const char **argv, const char *prefix) +int cmd_version(int argc, const char **argv, const char *prefix, struct repository *repository UNUSED) { struct strbuf buf = STRBUF_INIT; int build_options = 0; diff --git a/stkOs5Qh b/stkOs5Qh new file mode 100644 index 0000000000000000000000000000000000000000..6ddaad1925d3a5d4c17b021e8eb54bf93966742d GIT binary patch literal 10485768 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%0A%vj2S=k{NMrO50vBC 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%0Df&zmmI0y=;Y!97ibrC}^8 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