summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d17982f)
raw | patch | inline | side by side (parent: d17982f)
author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | |
Sat, 29 Aug 2009 09:04:52 +0000 (11:04 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sat, 29 Aug 2009 21:07:25 +0000 (14:07 -0700) |
Convert git update-server-info to a built-in command and use parseopt.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile | patch | blob | history | |
builtin-update-server-info.c | [new file with mode: 0644] | patch | blob |
builtin.h | patch | blob | history | |
git.c | patch | blob | history | |
update-server-info.c | [deleted file] | patch | blob | history |
diff --git a/Makefile b/Makefile
index d842e52ac38c4c262f13d1b3ea45b4a07539243a..a614347568b16e7e2526580e7971f22e630ad976 100644 (file)
--- a/Makefile
+++ b/Makefile
PROGRAMS += git-shell$X
PROGRAMS += git-show-index$X
PROGRAMS += git-unpack-file$X
-PROGRAMS += git-update-server-info$X
PROGRAMS += git-upload-pack$X
PROGRAMS += git-var$X
BUILTIN_OBJS += builtin-unpack-objects.o
BUILTIN_OBJS += builtin-update-index.o
BUILTIN_OBJS += builtin-update-ref.o
+BUILTIN_OBJS += builtin-update-server-info.o
BUILTIN_OBJS += builtin-upload-archive.o
BUILTIN_OBJS += builtin-verify-pack.o
BUILTIN_OBJS += builtin-verify-tag.o
diff --git a/builtin-update-server-info.c b/builtin-update-server-info.c
--- /dev/null
@@ -0,0 +1,25 @@
+#include "cache.h"
+#include "builtin.h"
+#include "parse-options.h"
+
+static const char * const update_server_info_usage[] = {
+ "git update-server-info [--force]",
+ NULL
+};
+
+int cmd_update_server_info(int argc, const char **argv, const char *prefix)
+{
+ int force = 0;
+ struct option options[] = {
+ OPT_BOOLEAN('f', "force", &force,
+ "update the info files from scratch"),
+ OPT_END()
+ };
+
+ argc = parse_options(argc, argv, prefix, options,
+ update_server_info_usage, 0);
+ if (argc > 0)
+ usage_with_options(update_server_info_usage, options);
+
+ return !!update_server_info(force);
+}
diff --git a/builtin.h b/builtin.h
index 51e4ba7f360338e5cd666c01c2f3b8c31e9b5a3e..a2174dc855ad89e486c57ae1c3a458cb1572edbb 100644 (file)
--- a/builtin.h
+++ b/builtin.h
extern int cmd_unpack_objects(int argc, const char **argv, const char *prefix);
extern int cmd_update_index(int argc, const char **argv, const char *prefix);
extern int cmd_update_ref(int argc, const char **argv, const char *prefix);
+extern int cmd_update_server_info(int argc, const char **argv, const char *prefix);
extern int cmd_upload_archive(int argc, const char **argv, const char *prefix);
extern int cmd_upload_tar(int argc, const char **argv, const char *prefix);
extern int cmd_verify_tag(int argc, const char **argv, const char *prefix);
index 5da6c65697dfd198e27b5b693566158bf772ab88..0b22595548a44c5eaa35dc671dda4d29e0773e96 100644 (file)
--- a/git.c
+++ b/git.c
{ "unpack-objects", cmd_unpack_objects, RUN_SETUP },
{ "update-index", cmd_update_index, RUN_SETUP },
{ "update-ref", cmd_update_ref, RUN_SETUP },
+ { "update-server-info", cmd_update_server_info, RUN_SETUP },
{ "upload-archive", cmd_upload_archive },
{ "verify-tag", cmd_verify_tag, RUN_SETUP },
{ "version", cmd_version },
diff --git a/update-server-info.c b/update-server-info.c
--- a/update-server-info.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "cache.h"
-#include "exec_cmd.h"
-
-static const char update_server_info_usage[] =
-"git update-server-info [--force]";
-
-int main(int ac, char **av)
-{
- int i;
- int force = 0;
- for (i = 1; i < ac; i++) {
- if (av[i][0] == '-') {
- if (!strcmp("--force", av[i]) ||
- !strcmp("-f", av[i]))
- force = 1;
- else
- usage(update_server_info_usage);
- }
- }
- if (i != ac)
- usage(update_server_info_usage);
-
- git_extract_argv0_path(av[0]);
-
- setup_git_directory();
-
- return !!update_server_info(force);
-}