{"thread":{"id":"9317","subject":"[PATCH] Introduce entry point for launching add--interactive.","startedAt":"2007-07-30T22:21:23Z","lastAt":"2007-07-30T22:21:23Z","messageCount":1,"participants":["Kristian Høgsberg"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"49159","messageId":"11858340832222-git-send-email-krh@redhat.com","threadId":"9317","inReplyTo":null,"subject":"[PATCH] Introduce entry point for launching add--interactive.","fromName":"Kristian Høgsberg","fromEmail":"krh@redhat.com","sentAt":"2007-07-30T22:21:23Z","receivedAt":"2007-07-30T22:21:23Z","isPatch":true,"sender":{"key":"krh@redhat.com","avatar":"https://gravatar.com/avatar/763dee6f9594ac474f725b137a39565792928e583ddf59b32befc2907409027e?d=mp&s=160"},"body":"This refactors builtin-add.c a little to provide a unique entry point\nfor launching git add --interactive, which will be used by\nbuiltin-commit too.  If we later want to make add --interactive a\nbuiltin or change how it is launched, we just start from this function.\n\nSigned-off-by: Kristian Høgsberg <krh@redhat.com>\n---\n\nOh, oops, just one more change outside builtin-commit.c.  This is mostly\nstylistic, but it seems reasonable to reasonable to have a well-defined\nentry point for launcing git add --interactive.\n\n builtin-add.c |   14 +++++++++-----\n commit.h      |    2 ++\n 2 files changed, 11 insertions(+), 5 deletions(-)\n\ndiff --git a/builtin-add.c b/builtin-add.c\nindex 7345479..7044d43 100644\n--- a/builtin-add.c\n+++ b/builtin-add.c\n@@ -135,6 +135,13 @@ static int git_add_config(const char *var, const char *value)\n \treturn git_default_config(var, value);\n }\n \n+int interactive_add(void)\n+{\n+\tconst char *argv[2] = { \"add--interactive\", NULL };\n+\n+\treturn run_command_v_opt(argv, RUN_GIT_CMD);\n+}\n+\n static struct lock_file lock_file;\n \n static const char ignore_warning[] =\n@@ -154,12 +161,9 @@ int cmd_add(int argc, const char **argv, const char *prefix)\n \t\t\tadd_interactive++;\n \t}\n \tif (add_interactive) {\n-\t\tconst char *args[] = { \"add--interactive\", NULL };\n-\n-\t\tif (add_interactive != 1 || argc != 2)\n+\t\tif (argc != 2)\n \t\t\tdie(\"add --interactive does not take any parameters\");\n-\t\texecv_git_cmd(args);\n-\t\texit(1);\n+\t\texit(interactive_add());\n \t}\n \n \tgit_config(git_add_config);\ndiff --git a/commit.h b/commit.h\nindex 9f640ba..64e1d4b 100644\n--- a/commit.h\n+++ b/commit.h\n@@ -129,4 +129,6 @@ create_commit(const unsigned char *tree_sha1,\n \t      const char *author_info, const char *committer_info,\n \t      const char *message, int length);\n \n+extern int interactive_add(void);\n+\n #endif /* COMMIT_H */\n-- \n1.5.2.GIT\n"}]}