Merge branch 'sg/revision-parser-skip-prefix' into maint
Code clean-up. * sg/revision-parser-skip-prefix: revision.c: use skip_prefix() in handle_revision_pseudo_opt() revision.c: use skip_prefix() in handle_revision_opt() revision.c: stricter parsing of '--early-output' revision.c: stricter parsing of '--no-{min,max}-parents' revision.h: turn rev_info.early_output back into an unsigned int
This commit is contained in:
commit
8d7a6b6c85
87
revision.c
87
revision.c
@ -1725,8 +1725,8 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
||||
revs->max_count = atoi(argv[1]);
|
||||
revs->no_walk = 0;
|
||||
return 2;
|
||||
} else if (starts_with(arg, "-n")) {
|
||||
revs->max_count = atoi(arg + 2);
|
||||
} else if (skip_prefix(arg, "-n", &optarg)) {
|
||||
revs->max_count = atoi(optarg);
|
||||
revs->no_walk = 0;
|
||||
} else if ((argcount = parse_long_opt("max-age", argv, &optarg))) {
|
||||
revs->max_age = atoi(optarg);
|
||||
@ -1785,16 +1785,13 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
||||
} else if (!strcmp(arg, "--author-date-order")) {
|
||||
revs->sort_order = REV_SORT_BY_AUTHOR_DATE;
|
||||
revs->topo_order = 1;
|
||||
} else if (starts_with(arg, "--early-output")) {
|
||||
int count = 100;
|
||||
switch (arg[14]) {
|
||||
case '=':
|
||||
count = atoi(arg+15);
|
||||
/* Fallthrough */
|
||||
case 0:
|
||||
revs->topo_order = 1;
|
||||
revs->early_output = count;
|
||||
}
|
||||
} else if (!strcmp(arg, "--early-output")) {
|
||||
revs->early_output = 100;
|
||||
revs->topo_order = 1;
|
||||
} else if (skip_prefix(arg, "--early-output=", &optarg)) {
|
||||
if (strtoul_ui(optarg, 10, &revs->early_output) < 0)
|
||||
die("'%s': not a non-negative integer", optarg);
|
||||
revs->topo_order = 1;
|
||||
} else if (!strcmp(arg, "--parents")) {
|
||||
revs->rewrite_parents = 1;
|
||||
revs->print_parents = 1;
|
||||
@ -1810,13 +1807,13 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
||||
revs->min_parents = 2;
|
||||
} else if (!strcmp(arg, "--no-merges")) {
|
||||
revs->max_parents = 1;
|
||||
} else if (starts_with(arg, "--min-parents=")) {
|
||||
revs->min_parents = atoi(arg+14);
|
||||
} else if (starts_with(arg, "--no-min-parents")) {
|
||||
} else if (skip_prefix(arg, "--min-parents=", &optarg)) {
|
||||
revs->min_parents = atoi(optarg);
|
||||
} else if (!strcmp(arg, "--no-min-parents")) {
|
||||
revs->min_parents = 0;
|
||||
} else if (starts_with(arg, "--max-parents=")) {
|
||||
revs->max_parents = atoi(arg+14);
|
||||
} else if (starts_with(arg, "--no-max-parents")) {
|
||||
} else if (skip_prefix(arg, "--max-parents=", &optarg)) {
|
||||
revs->max_parents = atoi(optarg);
|
||||
} else if (!strcmp(arg, "--no-max-parents")) {
|
||||
revs->max_parents = -1;
|
||||
} else if (!strcmp(arg, "--boundary")) {
|
||||
revs->boundary = 1;
|
||||
@ -1897,14 +1894,15 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
||||
revs->verbose_header = 1;
|
||||
revs->pretty_given = 1;
|
||||
get_commit_format(NULL, revs);
|
||||
} else if (starts_with(arg, "--pretty=") || starts_with(arg, "--format=")) {
|
||||
} else if (skip_prefix(arg, "--pretty=", &optarg) ||
|
||||
skip_prefix(arg, "--format=", &optarg)) {
|
||||
/*
|
||||
* Detached form ("--pretty X" as opposed to "--pretty=X")
|
||||
* not allowed, since the argument is optional.
|
||||
*/
|
||||
revs->verbose_header = 1;
|
||||
revs->pretty_given = 1;
|
||||
get_commit_format(arg+9, revs);
|
||||
get_commit_format(optarg, revs);
|
||||
} else if (!strcmp(arg, "--expand-tabs")) {
|
||||
revs->expand_tabs_in_log = 8;
|
||||
} else if (!strcmp(arg, "--no-expand-tabs")) {
|
||||
@ -1922,26 +1920,23 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
||||
revs->show_signature = 1;
|
||||
} else if (!strcmp(arg, "--no-show-signature")) {
|
||||
revs->show_signature = 0;
|
||||
} else if (!strcmp(arg, "--show-linear-break") ||
|
||||
starts_with(arg, "--show-linear-break=")) {
|
||||
if (starts_with(arg, "--show-linear-break="))
|
||||
revs->break_bar = xstrdup(arg + 20);
|
||||
else
|
||||
revs->break_bar = " ..........";
|
||||
} else if (!strcmp(arg, "--show-linear-break")) {
|
||||
revs->break_bar = " ..........";
|
||||
revs->track_linear = 1;
|
||||
revs->track_first_time = 1;
|
||||
} else if (starts_with(arg, "--show-notes=") ||
|
||||
starts_with(arg, "--notes=")) {
|
||||
} else if (skip_prefix(arg, "--show-linear-break=", &optarg)) {
|
||||
revs->break_bar = xstrdup(optarg);
|
||||
revs->track_linear = 1;
|
||||
revs->track_first_time = 1;
|
||||
} else if (skip_prefix(arg, "--show-notes=", &optarg) ||
|
||||
skip_prefix(arg, "--notes=", &optarg)) {
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
revs->show_notes = 1;
|
||||
revs->show_notes_given = 1;
|
||||
if (starts_with(arg, "--show-notes")) {
|
||||
if (revs->notes_opt.use_default_notes < 0)
|
||||
revs->notes_opt.use_default_notes = 1;
|
||||
strbuf_addstr(&buf, arg+13);
|
||||
}
|
||||
else
|
||||
strbuf_addstr(&buf, arg+8);
|
||||
if (starts_with(arg, "--show-notes=") &&
|
||||
revs->notes_opt.use_default_notes < 0)
|
||||
revs->notes_opt.use_default_notes = 1;
|
||||
strbuf_addstr(&buf, optarg);
|
||||
expand_notes_ref(&buf);
|
||||
string_list_append(&revs->notes_opt.extra_notes_refs,
|
||||
strbuf_detach(&buf, NULL));
|
||||
@ -1978,8 +1973,8 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
||||
revs->abbrev = 0;
|
||||
} else if (!strcmp(arg, "--abbrev")) {
|
||||
revs->abbrev = DEFAULT_ABBREV;
|
||||
} else if (starts_with(arg, "--abbrev=")) {
|
||||
revs->abbrev = strtoul(arg + 9, NULL, 10);
|
||||
} else if (skip_prefix(arg, "--abbrev=", &optarg)) {
|
||||
revs->abbrev = strtoul(optarg, NULL, 10);
|
||||
if (revs->abbrev < MINIMUM_ABBREV)
|
||||
revs->abbrev = MINIMUM_ABBREV;
|
||||
else if (revs->abbrev > 40)
|
||||
@ -2139,20 +2134,20 @@ static int handle_revision_pseudo_opt(const char *submodule,
|
||||
} else if ((argcount = parse_long_opt("exclude", argv, &optarg))) {
|
||||
add_ref_exclusion(&revs->ref_excludes, optarg);
|
||||
return argcount;
|
||||
} else if (starts_with(arg, "--branches=")) {
|
||||
} else if (skip_prefix(arg, "--branches=", &optarg)) {
|
||||
struct all_refs_cb cb;
|
||||
init_all_refs_cb(&cb, revs, *flags);
|
||||
for_each_glob_ref_in(handle_one_ref, arg + 11, "refs/heads/", &cb);
|
||||
for_each_glob_ref_in(handle_one_ref, optarg, "refs/heads/", &cb);
|
||||
clear_ref_exclusion(&revs->ref_excludes);
|
||||
} else if (starts_with(arg, "--tags=")) {
|
||||
} else if (skip_prefix(arg, "--tags=", &optarg)) {
|
||||
struct all_refs_cb cb;
|
||||
init_all_refs_cb(&cb, revs, *flags);
|
||||
for_each_glob_ref_in(handle_one_ref, arg + 7, "refs/tags/", &cb);
|
||||
for_each_glob_ref_in(handle_one_ref, optarg, "refs/tags/", &cb);
|
||||
clear_ref_exclusion(&revs->ref_excludes);
|
||||
} else if (starts_with(arg, "--remotes=")) {
|
||||
} else if (skip_prefix(arg, "--remotes=", &optarg)) {
|
||||
struct all_refs_cb cb;
|
||||
init_all_refs_cb(&cb, revs, *flags);
|
||||
for_each_glob_ref_in(handle_one_ref, arg + 10, "refs/remotes/", &cb);
|
||||
for_each_glob_ref_in(handle_one_ref, optarg, "refs/remotes/", &cb);
|
||||
clear_ref_exclusion(&revs->ref_excludes);
|
||||
} else if (!strcmp(arg, "--reflog")) {
|
||||
add_reflogs_to_pending(revs, *flags);
|
||||
@ -2162,14 +2157,14 @@ static int handle_revision_pseudo_opt(const char *submodule,
|
||||
*flags ^= UNINTERESTING | BOTTOM;
|
||||
} else if (!strcmp(arg, "--no-walk")) {
|
||||
revs->no_walk = REVISION_WALK_NO_WALK_SORTED;
|
||||
} else if (starts_with(arg, "--no-walk=")) {
|
||||
} else if (skip_prefix(arg, "--no-walk=", &optarg)) {
|
||||
/*
|
||||
* Detached form ("--no-walk X" as opposed to "--no-walk=X")
|
||||
* not allowed, since the argument is optional.
|
||||
*/
|
||||
if (!strcmp(arg + 10, "sorted"))
|
||||
if (!strcmp(optarg, "sorted"))
|
||||
revs->no_walk = REVISION_WALK_NO_WALK_SORTED;
|
||||
else if (!strcmp(arg + 10, "unsorted"))
|
||||
else if (!strcmp(optarg, "unsorted"))
|
||||
revs->no_walk = REVISION_WALK_NO_WALK_UNSORTED;
|
||||
else
|
||||
return error("invalid argument to --no-walk");
|
||||
|
@ -74,8 +74,9 @@ struct rev_info {
|
||||
/* topo-sort */
|
||||
enum rev_sort_order sort_order;
|
||||
|
||||
unsigned int early_output:1,
|
||||
ignore_missing:1,
|
||||
unsigned int early_output;
|
||||
|
||||
unsigned int ignore_missing:1,
|
||||
ignore_missing_links:1;
|
||||
|
||||
/* Traversal flags */
|
||||
|
Loading…
Reference in New Issue
Block a user