The previous patch in the series taught git-add--interactive to handle a single optional path argument. This patch teaches builtin-add to pass this argument through to the script. Signed-off-by: Wincent Colaiuta <win@xxxxxxxxxxx> --- builtin-add.c | 16 ++++++++++------ commit.h | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/builtin-add.c b/builtin-add.c index cf815a0..278c02e 100644 --- a/builtin-add.c +++ b/builtin-add.c @@ -135,9 +135,9 @@ static void refresh(int verbose, const char **pathspec) free(seen); } -int interactive_add(void) +int interactive_add(const char *path) { - const char *argv[2] = { "add--interactive", NULL }; + const char *argv[3] = { "add--interactive", path, NULL }; return run_command_v_opt(argv, RUN_GIT_CMD); } @@ -163,16 +163,20 @@ static struct option builtin_add_options[] = { int cmd_add(int argc, const char **argv, const char *prefix) { - int i, newfd, orig_argc = argc; + int i, newfd = argc; const char **pathspec; struct dir_struct dir; argc = parse_options(argc, argv, builtin_add_options, builtin_add_usage, 0); if (add_interactive) { - if (add_interactive != 1 || orig_argc != 2) - die("add --interactive does not take any parameters"); - exit(interactive_add()); + if (argc > 1) + die("add --interactive may take only 1 optional " + "parameter"); + else if (argc == 1) + exit(interactive_add(argv[0])); + else + exit(interactive_add(NULL)); } git_config(git_default_config); diff --git a/commit.h b/commit.h index aa67986..03a6ec5 100644 --- a/commit.h +++ b/commit.h @@ -113,7 +113,7 @@ extern struct commit_list *get_shallow_commits(struct object_array *heads, int in_merge_bases(struct commit *, struct commit **, int); -extern int interactive_add(void); +extern int interactive_add(const char *path); extern void add_files_to_cache(int verbose, const char *prefix, const char **files); extern int rerere(void); -- 1.5.3.5.737.gdee1b - 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