{"thread":{"id":"4212","subject":"[PATCH] Builtin git-init-db","startedAt":"2006-05-19T10:03:57Z","lastAt":"2006-05-19T10:03:57Z","messageCount":1,"participants":["Timo Hirvonen"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"20288","messageId":"20060519130357.6ae83cff.tihirvon@gmail.com","threadId":"4212","inReplyTo":null,"subject":"[PATCH] Builtin git-init-db","fromName":"Timo Hirvonen","fromEmail":"tihirvon@gmail.com","sentAt":"2006-05-19T10:03:57Z","receivedAt":"2006-05-19T10:03:57Z","isPatch":true,"sender":{"key":"tihirvon@gmail.com","avatar":null},"body":"Basically this just renames init-db.c to builtin-init-db.c and makes\nsome strings const.\n\nSigned-off-by: Timo Hirvonen <tihirvon@gmail.com>\n\n---\n\nea0920d755efa314e2be014e2a1eccda89d8f850\n Makefile                       |   13 ++++++-------\n init-db.c => builtin-init-db.c |   12 +++++++-----\n builtin.h                      |    1 +\n git.c                          |    1 +\n 4 files changed, 15 insertions(+), 12 deletions(-)\n rename init-db.c => builtin-init-db.c (96%)\n\nea0920d755efa314e2be014e2a1eccda89d8f850\ndiff --git a/Makefile b/Makefile\nindex 2149fb8..a4e9643 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -154,7 +154,7 @@ PROGRAMS = \\\n \tgit-convert-objects$X git-diff-files$X \\\n \tgit-diff-index$X git-diff-stages$X \\\n \tgit-diff-tree$X git-fetch-pack$X git-fsck-objects$X \\\n-\tgit-hash-object$X git-index-pack$X git-init-db$X git-local-fetch$X \\\n+\tgit-hash-object$X git-index-pack$X git-local-fetch$X \\\n \tgit-ls-files$X git-ls-tree$X git-mailinfo$X git-merge-base$X \\\n \tgit-merge-index$X git-mktag$X git-mktree$X git-pack-objects$X git-patch-id$X \\\n \tgit-peek-remote$X git-prune-packed$X git-read-tree$X \\\n@@ -170,7 +170,8 @@ PROGRAMS = \\\n \n BUILT_INS = git-log$X git-whatchanged$X git-show$X \\\n \tgit-count-objects$X git-diff$X git-push$X \\\n-\tgit-grep$X git-rev-list$X git-check-ref-format$X\n+\tgit-grep$X git-rev-list$X git-check-ref-format$X \\\n+\tgit-init-db$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -218,7 +219,8 @@ LIB_OBJS = \\\n \n BUILTIN_OBJS = \\\n \tbuiltin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \\\n-\tbuiltin-grep.o builtin-rev-list.o builtin-check-ref-format.o\n+\tbuiltin-grep.o builtin-rev-list.o builtin-check-ref-format.o \\\n+\tbuiltin-init-db.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n LIBS = $(GITLIBS) -lz\n@@ -473,6 +475,7 @@ strip: $(PROGRAMS) git$X\n \n git$X: git.c common-cmds.h $(BUILTIN_OBJS) $(GITLIBS)\n \t$(CC) -DGIT_VERSION='\"$(GIT_VERSION)\"' \\\n+\t\t-DDEFAULT_GIT_TEMPLATE_DIR='\"$(template_dir_SQ)\"' \\\n \t\t$(ALL_CFLAGS) -o $@ $(filter %.c,$^) \\\n \t\t$(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)\n \n@@ -565,10 +568,6 @@ git-http-push$X: revision.o http.o http-\n \t$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \\\n \t\t$(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)\n \n-init-db.o: init-db.c\n-\t$(CC) -c $(ALL_CFLAGS) \\\n-\t\t-DDEFAULT_GIT_TEMPLATE_DIR='\"$(template_dir_SQ)\"' $*.c\n-\n $(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H)\n $(patsubst git-%$X,%.o,$(PROGRAMS)): $(GITLIBS)\n $(DIFF_OBJS): diffcore.h\ndiff --git a/init-db.c b/builtin-init-db.c\nsimilarity index 96%\nrename from init-db.c\nrename to builtin-init-db.c\nindex ff29496..2a1384c 100644\n--- a/init-db.c\n+++ b/builtin-init-db.c\n@@ -4,6 +4,7 @@\n  * Copyright (C) Linus Torvalds, 2005\n  */\n #include \"cache.h\"\n+#include \"builtin.h\"\n \n #ifndef DEFAULT_GIT_TEMPLATE_DIR\n #define DEFAULT_GIT_TEMPLATE_DIR \"/usr/share/git-core/templates/\"\n@@ -116,7 +117,7 @@ static void copy_templates_1(char *path,\n \t}\n }\n \n-static void copy_templates(const char *git_dir, int len, char *template_dir)\n+static void copy_templates(const char *git_dir, int len, const char *template_dir)\n {\n \tchar path[PATH_MAX];\n \tchar template_path[PATH_MAX];\n@@ -163,7 +164,7 @@ static void copy_templates(const char *g\n \tclosedir(dir);\n }\n \n-static void create_default_files(const char *git_dir, char *template_path)\n+static void create_default_files(const char *git_dir, const char *template_path)\n {\n \tunsigned len = strlen(git_dir);\n \tstatic char path[PATH_MAX];\n@@ -234,15 +235,16 @@ static const char init_db_usage[] =\n  * On the other hand, it might just make lookup slower and messier. You\n  * be the judge.  The default case is to have one DB per managed directory.\n  */\n-int main(int argc, char **argv)\n+int cmd_init_db(int argc, const char **argv, char **envp)\n {\n \tconst char *git_dir;\n \tconst char *sha1_dir;\n-\tchar *path, *template_dir = NULL;\n+\tconst char *template_dir = NULL;\n+\tchar *path;\n \tint len, i;\n \n \tfor (i = 1; i < argc; i++, argv++) {\n-\t\tchar *arg = argv[1];\n+\t\tconst char *arg = argv[1];\n \t\tif (!strncmp(arg, \"--template=\", 11))\n \t\t\ttemplate_dir = arg+11;\n \t\telse if (!strcmp(arg, \"--shared\"))\ndiff --git a/builtin.h b/builtin.h\nindex ff559de..6054126 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -26,5 +26,6 @@ extern int cmd_push(int argc, const char\n extern int cmd_grep(int argc, const char **argv, char **envp);\n extern int cmd_rev_list(int argc, const char **argv, char **envp);\n extern int cmd_check_ref_format(int argc, const char **argv, char **envp);\n+extern int cmd_init_db(int argc, const char **argv, char **envp);\n \n #endif\ndiff --git a/git.c b/git.c\nindex d0650bb..3216d31 100644\n--- a/git.c\n+++ b/git.c\n@@ -51,6 +51,7 @@ static void handle_internal_command(int \n \t\t{ \"diff\", cmd_diff },\n \t\t{ \"grep\", cmd_grep },\n \t\t{ \"rev-list\", cmd_rev_list },\n+\t\t{ \"init-db\", cmd_init_db },\n \t\t{ \"check-ref-format\", cmd_check_ref_format }\n \t};\n \tint i;\n-- \n1.3.3.gff62-dirty\n"}]}