]> granicus.if.org Git - git/commitdiff
Make git-pack-objects a builtin
authorMatthias Kestenholz <matthias@spinlock.ch>
Thu, 3 Aug 2006 15:24:36 +0000 (17:24 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 4 Aug 2006 06:15:11 +0000 (23:15 -0700)
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Makefile
builtin-pack-objects.c [moved from pack-objects.c with 99% similarity]
builtin.h
git.c

index 132c9cf012c02647399b47890d67f64acb3ff1f5..4fd62bcf6dc5a71526fd7d81a6138e8456171a14 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -177,7 +177,7 @@ PROGRAMS = \
        git-convert-objects$X git-fetch-pack$X git-fsck-objects$X \
        git-hash-object$X git-index-pack$X git-local-fetch$X \
        git-merge-base$X \
-       git-merge-index$X git-mktag$X git-mktree$X git-pack-objects$X git-patch-id$X \
+       git-merge-index$X git-mktag$X git-mktree$X git-patch-id$X \
        git-peek-remote$X git-receive-pack$X \
        git-send-pack$X git-shell$X \
        git-show-index$X git-ssh-fetch$X \
@@ -198,7 +198,7 @@ BUILT_INS = git-log$X git-whatchanged$X git-show$X git-update-ref$X \
        git-apply$X git-show-branch$X git-diff-files$X git-update-index$X \
        git-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \
        git-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X \
-       git-repo-config$X git-name-rev$X
+       git-repo-config$X git-name-rev$X git-pack-objects$X
 
 # what 'all' will build and 'install' will install, in gitexecdir
 ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
@@ -256,7 +256,7 @@ BUILTIN_OBJS = \
        builtin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \
        builtin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \
        builtin-mv.o builtin-prune-packed.o builtin-repo-config.o \
-       builtin-name-rev.o
+       builtin-name-rev.o builtin-pack-objects.o
 
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 LIBS = $(GITLIBS) -lz
similarity index 99%
rename from pack-objects.c
rename to builtin-pack-objects.c
index 861c7f08ff1b68eee141442411b4706a1bcc2518..2301cd5c0f0e6d7a1dc662b9c352f844e2dce027 100644 (file)
@@ -1,3 +1,4 @@
+#include "builtin.h"
 #include "cache.h"
 #include "object.h"
 #include "blob.h"
@@ -1226,7 +1227,7 @@ static int git_pack_config(const char *k, const char *v)
        return git_default_config(k, v);
 }
 
-int main(int argc, char **argv)
+int cmd_pack_objects(int argc, const char **argv, const char *prefix)
 {
        SHA_CTX ctx;
        char line[40 + 1 + PATH_MAX + 2];
@@ -1235,7 +1236,6 @@ int main(int argc, char **argv)
        int num_preferred_base = 0;
        int i;
 
-       setup_git_directory();
        git_config(git_pack_config);
 
        progress = isatty(2);
index d1d9dc14f9ea688ef0a924f08e094f33b0ae0d5f..bc57a04c053689e470b66bd9b7a3674a7ca0c950 100644 (file)
--- a/builtin.h
+++ b/builtin.h
@@ -50,6 +50,7 @@ extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);
 extern int cmd_mv(int argc, const char **argv, const char *prefix);
 extern int cmd_repo_config(int argc, const char **argv, const char *prefix);
 extern int cmd_name_rev(int argc, const char **argv, const char *prefix);
+extern int cmd_pack_objects(int argc, const char **argv, const char *prefix);
 
 extern int cmd_write_tree(int argc, const char **argv, const char *prefix);
 extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);
diff --git a/git.c b/git.c
index 501a7815fce71c3bd3368d1b4afc4f540ddfbc64..5d58946f41684f2df2d98222a2c0bd076a9ada4a 100644 (file)
--- a/git.c
+++ b/git.c
@@ -266,6 +266,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
                { "prune-packed", cmd_prune_packed, NEEDS_PREFIX },
                { "repo-config", cmd_repo_config },
                { "name-rev", cmd_name_rev, NEEDS_PREFIX },
+               { "pack-objects", cmd_pack_objects, NEEDS_PREFIX },
        };
        int i;