Skip to contentSkip to conversation

Make git-prune-packed a builtin

PATCH In review Matthias Kestenholz 1 participant 2 messages Jun 15, 2016 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Make git-prune-packed a builtin

---
 Makefile                                 |    6 +++---
 prune-packed.c => builtin-prune-packed.c |    2 +-
 builtin.h                                |    1 +
 git.c                                    |    1 +
 4 files changed, 6 insertions(+), 4 deletions(-)
Makefile +3 -3
index 2562a2c..e39c9da 100644
@@ -196,7 +196,7 @@ PROGRAMS = \
 	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-peek-remote$X git-prune-packed$X git-receive-pack$X \
+	git-peek-remote$X git-receive-pack$X \
 	git-send-pack$X git-shell$X \
 	git-show-index$X git-ssh-fetch$X \
 	git-ssh-upload$X git-unpack-file$X \
@@ -216,7 +216,7 @@ BUILT_INS = git-log$X git-whatchanged$X 
 	git-read-tree$X git-commit-tree$X git-write-tree$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-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X
 
 # what 'all' will build and 'install' will install, in gitexecdir
 ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
@@ -273,7 +273,7 @@ BUILTIN_OBJS = \
 	builtin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \
 	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-mv.o builtin-prune-packed.o
 
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 EXTLIBS = -lz
builtin-prune-packed.c renamed from prune-packed.c +1 -1
similarity index 96%
rename from prune-packed.c
rename to builtin-prune-packed.c
index d24b097..8ca8c8c 100644
@@ -54,7 +54,7 @@ static void prune_packed_objects(void)
 	}
 }
 
-int main(int argc, char **argv)
+int cmd_prune_packed(int argc, char **argv, const char *prefix)
 {
 	int i;
 
builtin.h +1 -0
index f10d3b7..7ddfe28 100644
@@ -20,6 +20,7 @@ extern int cmd_format_patch(int argc, co
 extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
 
 extern int cmd_prune(int argc, const char **argv, const char *prefix);
+extern int cmd_prune_packed(int argc, const char **argv, const char *prefix);
 
 extern int cmd_push(int argc, const char **argv, const char *prefix);
 extern int cmd_grep(int argc, const char **argv, const char *prefix);
git.c +1 -0
index 110e82e..5b50762 100644
@@ -263,6 +263,7 @@ static void handle_internal_command(int 
 		{ "fmt-merge-msg", cmd_fmt_merge_msg, NEEDS_PREFIX },
 		{ "prune", cmd_prune, NEEDS_PREFIX },
 		{ "mv", cmd_mv, NEEDS_PREFIX },
+		{ "prune-packed", cmd_prune_packed, NEEDS_PREFIX },
 	};
 	int i;
 
Signature · 5 lines
1.4.2.rc2.g767b2

-- 
Matthias Kestenholz
www.spinlock.ch
#1 lore raw

---

Please discard the other patch. This one also removes the second call to setup_git_directory()

Btw. the NEEDS_PREFIX name in git.c confuses me. It should probably be something like AUTO_SETUP_DIRECTORY ? It would be clearer what it means.

 Makefile                                 |    6 +++---
 prune-packed.c => builtin-prune-packed.c |    4 +---
 builtin.h                                |    1 +
 git.c                                    |    1 +
 4 files changed, 6 insertions(+), 6 deletions(-)
Makefile +3 -3
index 2562a2c..e39c9da 100644
@@ -196,7 +196,7 @@ PROGRAMS = \
 	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-peek-remote$X git-prune-packed$X git-receive-pack$X \
+	git-peek-remote$X git-receive-pack$X \
 	git-send-pack$X git-shell$X \
 	git-show-index$X git-ssh-fetch$X \
 	git-ssh-upload$X git-unpack-file$X \
@@ -216,7 +216,7 @@ BUILT_INS = git-log$X git-whatchanged$X 
 	git-read-tree$X git-commit-tree$X git-write-tree$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-fmt-merge-msg$X git-prune$X git-mv$X git-prune-packed$X
 
 # what 'all' will build and 'install' will install, in gitexecdir
 ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
@@ -273,7 +273,7 @@ BUILTIN_OBJS = \
 	builtin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \
 	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-mv.o builtin-prune-packed.o
 
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 EXTLIBS = -lz
builtin-prune-packed.c renamed from prune-packed.c +1 -3
similarity index 96%
rename from prune-packed.c
rename to builtin-prune-packed.c
index d24b097..d0ff336 100644
@@ -54,12 +54,10 @@ static void prune_packed_objects(void)
 	}
 }
 
-int main(int argc, char **argv)
+int cmd_prune_packed(int argc, char **argv, const char *prefix)
 {
 	int i;
 
-	setup_git_directory();
-
 	for (i = 1; i < argc; i++) {
 		const char *arg = argv[i];
 
builtin.h +1 -0
index f10d3b7..7ddfe28 100644
@@ -20,6 +20,7 @@ extern int cmd_format_patch(int argc, co
 extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
 
 extern int cmd_prune(int argc, const char **argv, const char *prefix);
+extern int cmd_prune_packed(int argc, const char **argv, const char *prefix);
 
 extern int cmd_push(int argc, const char **argv, const char *prefix);
 extern int cmd_grep(int argc, const char **argv, const char *prefix);
git.c +1 -0
index 110e82e..5b50762 100644
@@ -263,6 +263,7 @@ static void handle_internal_command(int 
 		{ "fmt-merge-msg", cmd_fmt_merge_msg, NEEDS_PREFIX },
 		{ "prune", cmd_prune, NEEDS_PREFIX },
 		{ "mv", cmd_mv, NEEDS_PREFIX },
+		{ "prune-packed", cmd_prune_packed, NEEDS_PREFIX },
 	};
 	int i;
 
Signature · 1 line
1.4.2.rc2.ge3c5-dirty