mirror of
https://github.com/git/git.git
synced 2024-11-18 02:53:55 +01:00
7e1bad24e3
Parsing `git apply` options can be useful to other commands that want to call the libified apply functionality, because this way they can easily pass some options from their own command line to the libified apply functionality. This will be used by `git am` in a following patch. To make this possible, let's refactor the `git apply` option parsing code into a new libified apply_parse_options() function. Doing that makes it possible to remove some functions definitions from "apply.h" and make them static in "apply.c". Helped-by: Ramsay Jones <ramsay@ramsayjones.plus.com> Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
710 B
C
37 lines
710 B
C
#include "cache.h"
|
|
#include "builtin.h"
|
|
#include "parse-options.h"
|
|
#include "lockfile.h"
|
|
#include "apply.h"
|
|
|
|
static const char * const apply_usage[] = {
|
|
N_("git apply [<options>] [<patch>...]"),
|
|
NULL
|
|
};
|
|
|
|
static struct lock_file lock_file;
|
|
|
|
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, prefix, &lock_file))
|
|
exit(128);
|
|
|
|
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;
|
|
}
|