merge(3p/git): Merge git upstream at v2.26.2
This commit is contained in:
commit
5229c9b232
1006 changed files with 149006 additions and 60819 deletions
34
third_party/git/parse-options.h
vendored
34
third_party/git/parse-options.h
vendored
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef PARSE_OPTIONS_H
|
||||
#define PARSE_OPTIONS_H
|
||||
|
||||
/**
|
||||
* Refer to Documentation/technical/api-parse-options.txt for the API doc.
|
||||
*/
|
||||
|
||||
enum parse_opt_type {
|
||||
/* special types */
|
||||
OPTION_END,
|
||||
|
|
@ -14,7 +18,6 @@ enum parse_opt_type {
|
|||
OPTION_BITOP,
|
||||
OPTION_COUNTUP,
|
||||
OPTION_SET_INT,
|
||||
OPTION_CMDMODE,
|
||||
/* options with arguments (usually) */
|
||||
OPTION_STRING,
|
||||
OPTION_INTEGER,
|
||||
|
|
@ -43,7 +46,17 @@ enum parse_opt_option_flags {
|
|||
PARSE_OPT_LITERAL_ARGHELP = 64,
|
||||
PARSE_OPT_SHELL_EVAL = 256,
|
||||
PARSE_OPT_NOCOMPLETE = 512,
|
||||
PARSE_OPT_COMP_ARG = 1024
|
||||
PARSE_OPT_COMP_ARG = 1024,
|
||||
PARSE_OPT_CMDMODE = 2048
|
||||
};
|
||||
|
||||
enum parse_opt_result {
|
||||
PARSE_OPT_COMPLETE = -3,
|
||||
PARSE_OPT_HELP = -2,
|
||||
PARSE_OPT_ERROR = -1, /* must be the same as error() */
|
||||
PARSE_OPT_DONE = 0, /* fixed so that "return 0" works */
|
||||
PARSE_OPT_NON_OPTION,
|
||||
PARSE_OPT_UNKNOWN
|
||||
};
|
||||
|
||||
struct option;
|
||||
|
|
@ -155,8 +168,8 @@ struct option {
|
|||
#define OPT_BOOL(s, l, v, h) OPT_BOOL_F(s, l, v, h, 0)
|
||||
#define OPT_HIDDEN_BOOL(s, l, v, h) { OPTION_SET_INT, (s), (l), (v), NULL, \
|
||||
(h), PARSE_OPT_NOARG | PARSE_OPT_HIDDEN, NULL, 1}
|
||||
#define OPT_CMDMODE(s, l, v, h, i) { OPTION_CMDMODE, (s), (l), (v), NULL, \
|
||||
(h), PARSE_OPT_NOARG|PARSE_OPT_NONEG, NULL, (i) }
|
||||
#define OPT_CMDMODE(s, l, v, h, i) { OPTION_SET_INT, (s), (l), (v), NULL, \
|
||||
(h), PARSE_OPT_CMDMODE|PARSE_OPT_NOARG|PARSE_OPT_NONEG, NULL, (i) }
|
||||
#define OPT_INTEGER(s, l, v, h) OPT_INTEGER_F(s, l, v, h, 0)
|
||||
#define OPT_MAGNITUDE(s, l, v, h) { OPTION_MAGNITUDE, (s), (l), (v), \
|
||||
N_("n"), (h), PARSE_OPT_NONEG }
|
||||
|
|
@ -241,15 +254,6 @@ const char *optname(const struct option *opt, int flags);
|
|||
|
||||
/*----- incremental advanced APIs -----*/
|
||||
|
||||
enum parse_opt_result {
|
||||
PARSE_OPT_COMPLETE = -3,
|
||||
PARSE_OPT_HELP = -2,
|
||||
PARSE_OPT_ERROR = -1, /* must be the same as error() */
|
||||
PARSE_OPT_DONE = 0, /* fixed so that "return 0" works */
|
||||
PARSE_OPT_NON_OPTION,
|
||||
PARSE_OPT_UNKNOWN
|
||||
};
|
||||
|
||||
/*
|
||||
* It's okay for the caller to consume argv/argc in the usual way.
|
||||
* Other fields of that structure are private to parse-options and should not
|
||||
|
|
@ -277,7 +281,7 @@ int parse_options_step(struct parse_opt_ctx_t *ctx,
|
|||
int parse_options_end(struct parse_opt_ctx_t *ctx);
|
||||
|
||||
struct option *parse_options_dup(const struct option *a);
|
||||
struct option *parse_options_concat(struct option *a, struct option *b);
|
||||
struct option *parse_options_concat(const struct option *a, const struct option *b);
|
||||
|
||||
/*----- some often used options -----*/
|
||||
int parse_opt_abbrev_cb(const struct option *, const char *, int);
|
||||
|
|
@ -330,5 +334,7 @@ int parse_opt_passthru_argv(const struct option *, const char *, int);
|
|||
#define OPT_WITH(v, h) _OPT_CONTAINS_OR_WITH("with", v, h, PARSE_OPT_HIDDEN | PARSE_OPT_NONEG)
|
||||
#define OPT_WITHOUT(v, h) _OPT_CONTAINS_OR_WITH("without", v, h, PARSE_OPT_HIDDEN | PARSE_OPT_NONEG)
|
||||
#define OPT_CLEANUP(v) OPT_STRING(0, "cleanup", v, N_("mode"), N_("how to strip spaces and #comments from message"))
|
||||
#define OPT_PATHSPEC_FROM_FILE(v) OPT_FILENAME(0, "pathspec-from-file", v, N_("read pathspec from file"))
|
||||
#define OPT_PATHSPEC_FILE_NUL(v) OPT_BOOL(0, "pathspec-file-nul", v, N_("with --pathspec-from-file, pathspec elements are separated with NUL character"))
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue