git/builtin/apply.c
Christian Couder 7e1bad24e3 apply: refactor git apply option parsing
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>
2016-09-07 12:29:53 -07:00

36 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;
}