{"thread":{"id":"5106","subject":"[PATCH] Make git-local-fetch a builtin","startedAt":"2006-08-03T15:24:35Z","lastAt":"2006-08-03T15:24:39Z","messageCount":5,"participants":["Matthias Kestenholz"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"24643","messageId":"11546186794129-git-send-email-matthias@spinlock.ch","threadId":"5106","inReplyTo":null,"subject":"[PATCH] Make git-name-rev a builtin","fromName":"Matthias Kestenholz","fromEmail":"matthias@spinlock.ch","sentAt":"2006-08-03T15:24:35Z","receivedAt":"2006-08-03T15:24:35Z","isPatch":true,"sender":{"key":"matthias@spinlock.ch","avatar":"https://gravatar.com/avatar/bc18f396e70163d09ab458a341b1decb7e8b6ee3aa2c0c954ec20162e67c4d46?d=mp&s=160"},"body":"Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>\n---\n Makefile                         |    7 ++++---\n name-rev.c => builtin-name-rev.c |    4 ++--\n builtin.h                        |    1 +\n git.c                            |    1 +\n 4 files changed, 8 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 1c1427e..67b6846 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -204,7 +204,7 @@ PROGRAMS = \\\n \tgit-unpack-objects$X git-update-server-info$X \\\n \tgit-upload-pack$X git-verify-pack$X \\\n \tgit-symbolic-ref$X \\\n-\tgit-name-rev$X git-pack-redundant$X git-var$X \\\n+\tgit-pack-redundant$X git-var$X \\\n \tgit-describe$X git-merge-tree$X git-blame$X git-imap-send$X \\\n \tgit-merge-recur$X\n \n@@ -218,7 +218,7 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-apply$X git-show-branch$X git-diff-files$X git-update-index$X \\\n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \\\n \tgit-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \\\n-\tgit-repo-config$X\n+\tgit-repo-config$X git-name-rev$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -275,7 +275,8 @@ BUILTIN_OBJS = \\\n \tbuiltin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \\\n \tbuiltin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \\\n \tbuiltin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \\\n-\tbuiltin-mv.o builtin-prune-packed.o builtin-repo-config.o\n+\tbuiltin-mv.o builtin-prune-packed.o builtin-repo-config.o \\\n+\tbuiltin-name-rev.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n EXTLIBS = -lz\ndiff --git a/name-rev.c b/builtin-name-rev.c\nsimilarity index 98%\nrename from name-rev.c\nrename to builtin-name-rev.c\nindex f92f14e..571bba4 100644\n--- a/name-rev.c\n+++ b/builtin-name-rev.c\n@@ -1,4 +1,5 @@\n #include <stdlib.h>\n+#include \"builtin.h\"\n #include \"cache.h\"\n #include \"commit.h\"\n #include \"tag.h\"\n@@ -126,12 +127,11 @@ static const char* get_rev_name(struct o\n \treturn buffer;\n }\n \n-int main(int argc, char **argv)\n+int cmd_name_rev(int argc, const char **argv, const char *prefix)\n {\n \tstruct object_array revs = { 0, 0, NULL };\n \tint as_is = 0, all = 0, transform_stdin = 0;\n \n-\tsetup_git_directory();\n \tgit_config(git_default_config);\n \n \tif (argc < 2)\ndiff --git a/builtin.h b/builtin.h\nindex 26ebcaf..d1d9dc1 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -49,6 +49,7 @@ extern int cmd_update_ref(int argc, cons\n extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);\n extern int cmd_mv(int argc, const char **argv, const char *prefix);\n extern int cmd_repo_config(int argc, const char **argv, const char *prefix);\n+extern int cmd_name_rev(int argc, const char **argv, const char *prefix);\n \n extern int cmd_write_tree(int argc, const char **argv, const char *prefix);\n extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);\ndiff --git a/git.c b/git.c\nindex 6e72a89..501a781 100644\n--- a/git.c\n+++ b/git.c\n@@ -265,6 +265,7 @@ static void handle_internal_command(int \n \t\t{ \"mv\", cmd_mv, NEEDS_PREFIX },\n \t\t{ \"prune-packed\", cmd_prune_packed, NEEDS_PREFIX },\n \t\t{ \"repo-config\", cmd_repo_config },\n+\t\t{ \"name-rev\", cmd_name_rev, NEEDS_PREFIX },\n \t};\n \tint i;\n \n-- \n1.4.2.rc2.g2e994\n"},{"id":"24642","messageId":"1154618679860-git-send-email-matthias@spinlock.ch","threadId":"5106","inReplyTo":"11546186794129-git-send-email-matthias@spinlock.ch","subject":"[PATCH] Make git-pack-objects a builtin","fromName":"Matthias Kestenholz","fromEmail":"matthias@spinlock.ch","sentAt":"2006-08-03T15:24:36Z","receivedAt":"2006-08-03T15:24:36Z","isPatch":true,"sender":{"key":"matthias@spinlock.ch","avatar":"https://gravatar.com/avatar/bc18f396e70163d09ab458a341b1decb7e8b6ee3aa2c0c954ec20162e67c4d46?d=mp&s=160"},"body":"Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>\n---\n Makefile                                 |    6 +++---\n pack-objects.c => builtin-pack-objects.c |    4 ++--\n builtin.h                                |    1 +\n git.c                                    |    1 +\n 4 files changed, 7 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 67b6846..4827bff 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -196,7 +196,7 @@ PROGRAMS = \\\n \tgit-convert-objects$X git-fetch-pack$X git-fsck-objects$X \\\n \tgit-hash-object$X git-index-pack$X git-local-fetch$X \\\n \tgit-merge-base$X \\\n-\tgit-merge-index$X git-mktag$X git-mktree$X git-pack-objects$X git-patch-id$X \\\n+\tgit-merge-index$X git-mktag$X git-mktree$X git-patch-id$X \\\n \tgit-peek-remote$X git-receive-pack$X \\\n \tgit-send-pack$X git-shell$X \\\n \tgit-show-index$X git-ssh-fetch$X \\\n@@ -218,7 +218,7 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-apply$X git-show-branch$X git-diff-files$X git-update-index$X \\\n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \\\n \tgit-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \\\n-\tgit-repo-config$X git-name-rev$X\n+\tgit-repo-config$X git-name-rev$X git-pack-objects$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -276,7 +276,7 @@ BUILTIN_OBJS = \\\n \tbuiltin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \\\n \tbuiltin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \\\n \tbuiltin-mv.o builtin-prune-packed.o builtin-repo-config.o \\\n-\tbuiltin-name-rev.o\n+\tbuiltin-name-rev.o builtin-pack-objects.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n EXTLIBS = -lz\ndiff --git a/pack-objects.c b/builtin-pack-objects.c\nsimilarity index 100%\nrename from pack-objects.c\nrename to builtin-pack-objects.c\nindex e52e977..2f99212 100644\n--- a/pack-objects.c\n+++ b/builtin-pack-objects.c\n@@ -1,3 +1,4 @@\n+#include \"builtin.h\"\n #include \"cache.h\"\n #include \"object.h\"\n #include \"blob.h\"\n@@ -1242,7 +1243,7 @@ static int git_pack_config(const char *k\n \treturn git_default_config(k, v);\n }\n \n-int main(int argc, char **argv)\n+int cmd_pack_objects(int argc, const char **argv, const char *prefix)\n {\n \tSHA_CTX ctx;\n \tchar line[40 + 1 + PATH_MAX + 2];\n@@ -1251,7 +1252,6 @@ int main(int argc, char **argv)\n \tint num_preferred_base = 0;\n \tint i;\n \n-\tsetup_git_directory();\n \tgit_config(git_pack_config);\n \n \tprogress = isatty(2);\ndiff --git a/builtin.h b/builtin.h\nindex d1d9dc1..bc57a04 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -50,6 +50,7 @@ extern int cmd_fmt_merge_msg(int argc, c\n extern int cmd_mv(int argc, const char **argv, const char *prefix);\n extern int cmd_repo_config(int argc, const char **argv, const char *prefix);\n extern int cmd_name_rev(int argc, const char **argv, const char *prefix);\n+extern int cmd_pack_objects(int argc, const char **argv, const char *prefix);\n \n extern int cmd_write_tree(int argc, const char **argv, const char *prefix);\n extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);\ndiff --git a/git.c b/git.c\nindex 501a781..5d58946 100644\n--- a/git.c\n+++ b/git.c\n@@ -266,6 +266,7 @@ static void handle_internal_command(int \n \t\t{ \"prune-packed\", cmd_prune_packed, NEEDS_PREFIX },\n \t\t{ \"repo-config\", cmd_repo_config },\n \t\t{ \"name-rev\", cmd_name_rev, NEEDS_PREFIX },\n+\t\t{ \"pack-objects\", cmd_pack_objects, NEEDS_PREFIX },\n \t};\n \tint i;\n \n-- \n1.4.2.rc2.g2e994\n"},{"id":"24644","messageId":"11546186792277-git-send-email-matthias@spinlock.ch","threadId":"5106","inReplyTo":"1154618679860-git-send-email-matthias@spinlock.ch","subject":"[PATCH] Make git-unpack-objects a builtin","fromName":"Matthias Kestenholz","fromEmail":"matthias@spinlock.ch","sentAt":"2006-08-03T15:24:37Z","receivedAt":"2006-08-03T15:24:37Z","isPatch":true,"sender":{"key":"matthias@spinlock.ch","avatar":"https://gravatar.com/avatar/bc18f396e70163d09ab458a341b1decb7e8b6ee3aa2c0c954ec20162e67c4d46?d=mp&s=160"},"body":"Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>\n---\n Makefile                                     |    7 ++++---\n unpack-objects.c => builtin-unpack-objects.c |    4 ++--\n builtin.h                                    |    1 +\n git.c                                        |    1 +\n 4 files changed, 8 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 4827bff..4d0243b 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -201,7 +201,7 @@ PROGRAMS = \\\n \tgit-send-pack$X git-shell$X \\\n \tgit-show-index$X git-ssh-fetch$X \\\n \tgit-ssh-upload$X git-unpack-file$X \\\n-\tgit-unpack-objects$X git-update-server-info$X \\\n+\tgit-update-server-info$X \\\n \tgit-upload-pack$X git-verify-pack$X \\\n \tgit-symbolic-ref$X \\\n \tgit-pack-redundant$X git-var$X \\\n@@ -218,7 +218,8 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-apply$X git-show-branch$X git-diff-files$X git-update-index$X \\\n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \\\n \tgit-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \\\n-\tgit-repo-config$X git-name-rev$X git-pack-objects$X\n+\tgit-repo-config$X git-name-rev$X git-pack-objects$X \\\n+\tgit-unpack-objects$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -276,7 +277,7 @@ BUILTIN_OBJS = \\\n \tbuiltin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \\\n \tbuiltin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \\\n \tbuiltin-mv.o builtin-prune-packed.o builtin-repo-config.o \\\n-\tbuiltin-name-rev.o builtin-pack-objects.o\n+\tbuiltin-name-rev.o builtin-pack-objects.o builtin-unpack-objects.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n EXTLIBS = -lz\ndiff --git a/unpack-objects.c b/builtin-unpack-objects.c\nsimilarity index 99%\nrename from unpack-objects.c\nrename to builtin-unpack-objects.c\nindex b23fe58..ccf2643 100644\n--- a/unpack-objects.c\n+++ b/builtin-unpack-objects.c\n@@ -1,3 +1,4 @@\n+#include \"builtin.h\"\n #include \"cache.h\"\n #include \"object.h\"\n #include \"delta.h\"\n@@ -260,12 +261,11 @@ static void unpack_all(void)\n \t\tdie(\"unresolved deltas left after unpacking\");\n }\n \n-int main(int argc, char **argv)\n+int cmd_unpack_objects(int argc, const char **argv, const char *prefix)\n {\n \tint i;\n \tunsigned char sha1[20];\n \n-\tsetup_git_directory();\n \tgit_config(git_default_config);\n \n \tquiet = !isatty(2);\ndiff --git a/builtin.h b/builtin.h\nindex bc57a04..af73c3c 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -51,6 +51,7 @@ extern int cmd_mv(int argc, const char *\n extern int cmd_repo_config(int argc, const char **argv, const char *prefix);\n extern int cmd_name_rev(int argc, const char **argv, const char *prefix);\n extern int cmd_pack_objects(int argc, const char **argv, const char *prefix);\n+extern int cmd_unpack_objects(int argc, const char **argv, const char *prefix);\n \n extern int cmd_write_tree(int argc, const char **argv, const char *prefix);\n extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);\ndiff --git a/git.c b/git.c\nindex 5d58946..7c3a7f8 100644\n--- a/git.c\n+++ b/git.c\n@@ -267,6 +267,7 @@ static void handle_internal_command(int \n \t\t{ \"repo-config\", cmd_repo_config },\n \t\t{ \"name-rev\", cmd_name_rev, NEEDS_PREFIX },\n \t\t{ \"pack-objects\", cmd_pack_objects, NEEDS_PREFIX },\n+\t\t{ \"unpack-objects\", cmd_unpack_objects, NEEDS_PREFIX },\n \t};\n \tint i;\n \n-- \n1.4.2.rc2.g2e994\n"},{"id":"24641","messageId":"11546186792870-git-send-email-matthias@spinlock.ch","threadId":"5106","inReplyTo":"11546186792277-git-send-email-matthias@spinlock.ch","subject":"[PATCH] Make git-symbolic-ref a builtin","fromName":"Matthias Kestenholz","fromEmail":"matthias@spinlock.ch","sentAt":"2006-08-03T15:24:38Z","receivedAt":"2006-08-03T15:24:38Z","isPatch":true,"sender":{"key":"matthias@spinlock.ch","avatar":"https://gravatar.com/avatar/bc18f396e70163d09ab458a341b1decb7e8b6ee3aa2c0c954ec20162e67c4d46?d=mp&s=160"},"body":"Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>\n---\n Makefile                                 |    6 +++---\n symbolic-ref.c => builtin-symbolic-ref.c |    4 ++--\n builtin.h                                |    1 +\n git.c                                    |    1 +\n 4 files changed, 7 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 4d0243b..785e188 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -203,7 +203,6 @@ PROGRAMS = \\\n \tgit-ssh-upload$X git-unpack-file$X \\\n \tgit-update-server-info$X \\\n \tgit-upload-pack$X git-verify-pack$X \\\n-\tgit-symbolic-ref$X \\\n \tgit-pack-redundant$X git-var$X \\\n \tgit-describe$X git-merge-tree$X git-blame$X git-imap-send$X \\\n \tgit-merge-recur$X\n@@ -219,7 +218,7 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \\\n \tgit-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \\\n \tgit-repo-config$X git-name-rev$X git-pack-objects$X \\\n-\tgit-unpack-objects$X\n+\tgit-unpack-objects$X git-symbolic-ref$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -277,7 +276,8 @@ BUILTIN_OBJS = \\\n \tbuiltin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \\\n \tbuiltin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \\\n \tbuiltin-mv.o builtin-prune-packed.o builtin-repo-config.o \\\n-\tbuiltin-name-rev.o builtin-pack-objects.o builtin-unpack-objects.o\n+\tbuiltin-name-rev.o builtin-pack-objects.o builtin-unpack-objects.o \\\n+\tbuiltin-symbolic-ref.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n EXTLIBS = -lz\ndiff --git a/symbolic-ref.c b/builtin-symbolic-ref.c\nsimilarity index 89%\nrename from symbolic-ref.c\nrename to builtin-symbolic-ref.c\nindex 193c87c..b4ec6f2 100644\n--- a/symbolic-ref.c\n+++ b/builtin-symbolic-ref.c\n@@ -1,3 +1,4 @@\n+#include \"builtin.h\"\n #include \"cache.h\"\n \n static const char git_symbolic_ref_usage[] =\n@@ -17,9 +18,8 @@ static void check_symref(const char *HEA\n \t\tdie(\"No such ref: %s\", HEAD);\n }\n \n-int main(int argc, const char **argv)\n+int cmd_symbolic_ref(int argc, const char **argv, const char *prefix)\n {\n-\tsetup_git_directory();\n \tgit_config(git_default_config);\n \tswitch (argc) {\n \tcase 2:\ndiff --git a/builtin.h b/builtin.h\nindex af73c3c..b767245 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -52,6 +52,7 @@ extern int cmd_repo_config(int argc, con\n extern int cmd_name_rev(int argc, const char **argv, const char *prefix);\n extern int cmd_pack_objects(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_symbolic_ref(int argc, const char **argv, const char *prefix);\n \n extern int cmd_write_tree(int argc, const char **argv, const char *prefix);\n extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);\ndiff --git a/git.c b/git.c\nindex 7c3a7f8..e40e859 100644\n--- a/git.c\n+++ b/git.c\n@@ -268,6 +268,7 @@ static void handle_internal_command(int \n \t\t{ \"name-rev\", cmd_name_rev, NEEDS_PREFIX },\n \t\t{ \"pack-objects\", cmd_pack_objects, NEEDS_PREFIX },\n \t\t{ \"unpack-objects\", cmd_unpack_objects, NEEDS_PREFIX },\n+\t\t{ \"symbolic-ref\", cmd_symbolic_ref, NEEDS_PREFIX },\n \t};\n \tint i;\n \n-- \n1.4.2.rc2.g2e994\n"},{"id":"24640","messageId":"11546186802823-git-send-email-matthias@spinlock.ch","threadId":"5106","inReplyTo":"11546186792870-git-send-email-matthias@spinlock.ch","subject":"[PATCH] Make git-local-fetch a builtin","fromName":"Matthias Kestenholz","fromEmail":"matthias@spinlock.ch","sentAt":"2006-08-03T15:24:39Z","receivedAt":"2006-08-03T15:24:39Z","isPatch":true,"sender":{"key":"matthias@spinlock.ch","avatar":"https://gravatar.com/avatar/bc18f396e70163d09ab458a341b1decb7e8b6ee3aa2c0c954ec20162e67c4d46?d=mp&s=160"},"body":"Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>\n---\n\n\nPlease note! I added fetch.o to the list of LIB_OBJS. I don't know if\nit should be done like that. builtin-local-fetch.o depends on fetch.o\nand LIB_OBJS seemed to be the best place to add fetch.o.\n\n\n\n Makefile                               |    9 +++++----\n local-fetch.c => builtin-local-fetch.c |    3 ++-\n builtin.h                              |    1 +\n git.c                                  |    1 +\n 4 files changed, 9 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 785e188..c1285f5 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -194,7 +194,7 @@ # ... and all the rest that could be mov\n PROGRAMS = \\\n \tgit-checkout-index$X \\\n \tgit-convert-objects$X git-fetch-pack$X git-fsck-objects$X \\\n-\tgit-hash-object$X git-index-pack$X git-local-fetch$X \\\n+\tgit-hash-object$X git-index-pack$X \\\n \tgit-merge-base$X \\\n \tgit-merge-index$X git-mktag$X git-mktree$X git-patch-id$X \\\n \tgit-peek-remote$X git-receive-pack$X \\\n@@ -218,7 +218,7 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \\\n \tgit-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \\\n \tgit-repo-config$X git-name-rev$X git-pack-objects$X \\\n-\tgit-unpack-objects$X git-symbolic-ref$X\n+\tgit-unpack-objects$X git-symbolic-ref$X git-local-fetch$X\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -262,7 +262,8 @@ LIB_OBJS = \\\n \tserver-info.o setup.o sha1_file.o sha1_name.o strbuf.o \\\n \ttag.o tree.o usage.o config.o environment.o ctype.o copy.o \\\n \tfetch-clone.o revision.o pager.o tree-walk.o xdiff-interface.o \\\n-\talloc.o merge-file.o path-list.o unpack-trees.o $(DIFF_OBJS)\n+\talloc.o merge-file.o path-list.o unpack-trees.o fetch.o \\\n+\t$(DIFF_OBJS)\n \n BUILTIN_OBJS = \\\n \tbuiltin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \\\n@@ -277,7 +278,7 @@ BUILTIN_OBJS = \\\n \tbuiltin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \\\n \tbuiltin-mv.o builtin-prune-packed.o builtin-repo-config.o \\\n \tbuiltin-name-rev.o builtin-pack-objects.o builtin-unpack-objects.o \\\n-\tbuiltin-symbolic-ref.o\n+\tbuiltin-symbolic-ref.o builtin-local-fetch.o\n \n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n EXTLIBS = -lz\ndiff --git a/local-fetch.c b/builtin-local-fetch.c\nsimilarity index 99%\nrename from local-fetch.c\nrename to builtin-local-fetch.c\nindex b216bdd..2a082d8 100644\n--- a/local-fetch.c\n+++ b/builtin-local-fetch.c\n@@ -1,6 +1,7 @@\n /*\n  * Copyright (C) 2005 Junio C Hamano\n  */\n+#include \"builtin.h\"\n #include \"cache.h\"\n #include \"commit.h\"\n #include \"fetch.h\"\n@@ -203,7 +204,7 @@ static const char local_pull_usage[] =\n  * If -s is specified, then a symlink is attempted.\n  * If -n is _not_ specified, then a regular file-to-file copy is done.\n  */\n-int main(int argc, const char **argv)\n+int cmd_local_fetch(int argc, const char **argv, const char *prefix)\n {\n \tint commits;\n \tconst char **write_ref = NULL;\ndiff --git a/builtin.h b/builtin.h\nindex b767245..3da353f 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -53,6 +53,7 @@ extern int cmd_name_rev(int argc, const \n extern int cmd_pack_objects(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_symbolic_ref(int argc, const char **argv, const char *prefix);\n+extern int cmd_local_fetch(int argc, const char **argv, const char *prefix);\n \n extern int cmd_write_tree(int argc, const char **argv, const char *prefix);\n extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);\ndiff --git a/git.c b/git.c\nindex e40e859..a4ce155 100644\n--- a/git.c\n+++ b/git.c\n@@ -269,6 +269,7 @@ static void handle_internal_command(int \n \t\t{ \"pack-objects\", cmd_pack_objects, NEEDS_PREFIX },\n \t\t{ \"unpack-objects\", cmd_unpack_objects, NEEDS_PREFIX },\n \t\t{ \"symbolic-ref\", cmd_symbolic_ref, NEEDS_PREFIX },\n+\t\t{ \"local-fetch\", cmd_local_fetch, NEEDS_PREFIX },\n \t};\n \tint i;\n \n-- \n1.4.2.rc2.g2e994\n"}]}