#include "builtin.h" #include "gettext.h" #include "repository.h" #include "hash.h" #include "apply.h" static const char * const apply_usage[] = { N_("git apply [] [...]"), NULL }; int cmd_apply(int argc, const char **argv, const char *prefix) { int force_apply = 0; int options = 0; int ret; struct apply_state state; if (init_apply_state(&state, the_repository, prefix)) exit(128); /* * We could to redo the "apply.c" machinery to make this * arbitrary fallback unnecessary, but it is dubious that it * is worth the effort. * cf. https://lore.kernel.org/git/xmqqcypfcmn4.fsf@gitster.g/ */ if (!the_hash_algo) repo_set_hash_algo(the_repository, GIT_HASH_SHA1); argc = apply_parse_options(argc, argv, &state, &force_apply, &options, apply_usage); if (check_apply_state(&state, force_apply)) exit(128); ret = apply_all_patches(&state, argc, argv, options); clear_apply_state(&state); return ret; }