{"thread":{"id":"20783","subject":"[PATCH] update-server-info: make builtin, use parseopt","startedAt":"2009-08-29T09:04:52Z","lastAt":"2009-08-29T09:04:52Z","messageCount":1,"participants":["René Scharfe"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"122083","messageId":"4A98EF34.8050206@lsrfire.ath.cx","threadId":"20783","inReplyTo":null,"subject":"[PATCH] update-server-info: make builtin, use parseopt","fromName":"René Scharfe","fromEmail":"rene.scharfe@lsrfire.ath.cx","sentAt":"2009-08-29T09:04:52Z","receivedAt":"2009-08-29T09:04:52Z","isPatch":true,"sender":{"key":"l.s.r@web.de","avatar":"https://avatars.githubusercontent.com/u/26122331?v=4"},"body":"Convert git update-server-info to a built-in command and use parseopt.\n\nSigned-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>\n---\n Makefile                     |    2 +-\n builtin-update-server-info.c |   25 +++++++++++++++++++++++++\n builtin.h                    |    1 +\n git.c                        |    1 +\n update-server-info.c         |   28 ----------------------------\n 5 files changed, 28 insertions(+), 29 deletions(-)\n create mode 100644 builtin-update-server-info.c\n delete mode 100644 update-server-info.c\n\ndiff --git a/Makefile b/Makefile\nindex d842e52..a614347 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -357,7 +357,6 @@ PROGRAMS += git-patch-id$X\n PROGRAMS += git-shell$X\n PROGRAMS += git-show-index$X\n PROGRAMS += git-unpack-file$X\n-PROGRAMS += git-update-server-info$X\n PROGRAMS += git-upload-pack$X\n PROGRAMS += git-var$X\n \n@@ -636,6 +635,7 @@ BUILTIN_OBJS += builtin-tar-tree.o\n BUILTIN_OBJS += builtin-unpack-objects.o\n BUILTIN_OBJS += builtin-update-index.o\n BUILTIN_OBJS += builtin-update-ref.o\n+BUILTIN_OBJS += builtin-update-server-info.o\n BUILTIN_OBJS += builtin-upload-archive.o\n BUILTIN_OBJS += builtin-verify-pack.o\n BUILTIN_OBJS += builtin-verify-tag.o\ndiff --git a/builtin-update-server-info.c b/builtin-update-server-info.c\nnew file mode 100644\nindex 0000000..2b3fddc\n--- /dev/null\n+++ b/builtin-update-server-info.c\n@@ -0,0 +1,25 @@\n+#include \"cache.h\"\n+#include \"builtin.h\"\n+#include \"parse-options.h\"\n+\n+static const char * const update_server_info_usage[] = {\n+\t\"git update-server-info [--force]\",\n+\tNULL\n+};\n+\n+int cmd_update_server_info(int argc, const char **argv, const char *prefix)\n+{\n+\tint force = 0;\n+\tstruct option options[] = {\n+\t\tOPT_BOOLEAN('f', \"force\", &force,\n+\t\t\t\"update the info files from scratch\"),\n+\t\tOPT_END()\n+\t};\n+\n+\targc = parse_options(argc, argv, prefix, options,\n+\t\t\t     update_server_info_usage, 0);\n+\tif (argc > 0)\n+\t\tusage_with_options(update_server_info_usage, options);\n+\n+\treturn !!update_server_info(force);\n+}\ndiff --git a/builtin.h b/builtin.h\nindex 51e4ba7..a2174dc 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -102,6 +102,7 @@ extern int cmd_tar_tree(int argc, const char **argv, const char *prefix);\n extern int cmd_unpack_objects(int argc, const char **argv, const char *prefix);\n extern int cmd_update_index(int argc, const char **argv, const char *prefix);\n extern int cmd_update_ref(int argc, const char **argv, const char *prefix);\n+extern int cmd_update_server_info(int argc, const char **argv, const char *prefix);\n extern int cmd_upload_archive(int argc, const char **argv, const char *prefix);\n extern int cmd_upload_tar(int argc, const char **argv, const char *prefix);\n extern int cmd_verify_tag(int argc, const char **argv, const char *prefix);\ndiff --git a/git.c b/git.c\nindex 5da6c65..0b22595 100644\n--- a/git.c\n+++ b/git.c\n@@ -359,6 +359,7 @@ static void handle_internal_command(int argc, const char **argv)\n \t\t{ \"unpack-objects\", cmd_unpack_objects, RUN_SETUP },\n \t\t{ \"update-index\", cmd_update_index, RUN_SETUP },\n \t\t{ \"update-ref\", cmd_update_ref, RUN_SETUP },\n+\t\t{ \"update-server-info\", cmd_update_server_info, RUN_SETUP },\n \t\t{ \"upload-archive\", cmd_upload_archive },\n \t\t{ \"verify-tag\", cmd_verify_tag, RUN_SETUP },\n \t\t{ \"version\", cmd_version },\ndiff --git a/update-server-info.c b/update-server-info.c\ndeleted file mode 100644\nindex 7b38fd8..0000000\n--- a/update-server-info.c\n+++ /dev/null\n@@ -1,28 +0,0 @@\n-#include \"cache.h\"\n-#include \"exec_cmd.h\"\n-\n-static const char update_server_info_usage[] =\n-\"git update-server-info [--force]\";\n-\n-int main(int ac, char **av)\n-{\n-\tint i;\n-\tint force = 0;\n-\tfor (i = 1; i < ac; i++) {\n-\t\tif (av[i][0] == '-') {\n-\t\t\tif (!strcmp(\"--force\", av[i]) ||\n-\t\t\t    !strcmp(\"-f\", av[i]))\n-\t\t\t\tforce = 1;\n-\t\t\telse\n-\t\t\t\tusage(update_server_info_usage);\n-\t\t}\n-\t}\n-\tif (i != ac)\n-\t\tusage(update_server_info_usage);\n-\n-\tgit_extract_argv0_path(av[0]);\n-\n-\tsetup_git_directory();\n-\n-\treturn !!update_server_info(force);\n-}\n-- \n1.6.4.1\n"}]}