Christian Couder <christian.couder@xxxxxxxxx> writes: > static int run_apply(const struct am_state *state, const char *index_file) > { > - struct child_process cp = CHILD_PROCESS_INIT; > + struct argv_array apply_paths = ARGV_ARRAY_INIT; > + struct argv_array apply_opts = ARGV_ARRAY_INIT; > + struct apply_state apply_state; > + int res, opts_left; > + char *save_index_file; > + static struct lock_file lock_file; > + > + struct option am_apply_options[] = { > + { OPTION_CALLBACK, 0, "whitespace", &apply_state, N_("action"), > + N_("detect new or modified lines that have whitespace errors"), > + 0, apply_option_parse_whitespace }, > + { OPTION_CALLBACK, 0, "ignore-space-change", &apply_state, NULL, > + N_("ignore changes in whitespace when finding context"), > + PARSE_OPT_NOARG, apply_option_parse_space_change }, > + { OPTION_CALLBACK, 0, "ignore-whitespace", &apply_state, NULL, > + N_("ignore changes in whitespace when finding context"), > + PARSE_OPT_NOARG, apply_option_parse_space_change }, > + { OPTION_CALLBACK, 0, "directory", &apply_state, N_("root"), > + N_("prepend <root> to all filenames"), > + 0, apply_option_parse_directory }, > + { OPTION_CALLBACK, 0, "exclude", &apply_state, N_("path"), > + N_("don't apply changes matching the given path"), > + 0, apply_option_parse_exclude }, > + { OPTION_CALLBACK, 0, "include", &apply_state, N_("path"), > + N_("apply changes matching the given path"), > + 0, apply_option_parse_include }, > + OPT_INTEGER('C', NULL, &apply_state.p_context, > + N_("ensure at least <n> lines of context match")), > + { OPTION_CALLBACK, 'p', NULL, &apply_state, N_("num"), > + N_("remove <num> leading slashes from traditional diff paths"), > + 0, apply_option_parse_p }, > + OPT_BOOL(0, "reject", &apply_state.apply_with_reject, > + N_("leave the rejected hunks in corresponding *.rej files")), > + OPT_END() > + }; Is this an indication that this step came too prematurely? Can we avoid having to maintain semi-duplicated options array if cmd_apply() is properly refactored before this step? The resulting code is unmaintainable as long as we have this duplication. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html