git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 4/5] make "git pack-redundant" a built-in

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Jan 22, 2010, 16:28 UTC
Message-ID
<alpine.LFD.2.00.1001220827140.13231@localhost.localdomain>
In-Reply-To
<alpine.LFD.2.00.1001220826230.13231@localhost.localdomain>
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Fri, 22 Jan 2010 07:42:14 -0800
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
This has one function that now needed a 'const char *' argument 
conversion, but it's the next one that actually affects other files..
 Makefile                                     |    2 +-
 pack-redundant.c => builtin-pack-redundant.c |    8 ++------
 builtin.h                                    |    1 +
 git.c                                        |    1 +
 4 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 88e2f8f..33f9870 100644
--- a/Makefile
+++ b/Makefile
@@ -389,7 +389,6 @@ PROGRAMS += $(EXTRA_PROGRAMS)
 PROGRAMS += git-fast-import$X
 PROGRAMS += git-imap-send$X
 PROGRAMS += git-index-pack$X
-PROGRAMS += git-pack-redundant$X
 PROGRAMS += git-shell$X
 PROGRAMS += git-show-index$X
 PROGRAMS += git-upload-pack$X
@@ -673,6 +672,7 @@ BUILTIN_OBJS += builtin-mktree.o
 BUILTIN_OBJS += builtin-mv.o
 BUILTIN_OBJS += builtin-name-rev.o
 BUILTIN_OBJS += builtin-pack-objects.o
+BUILTIN_OBJS += builtin-pack-redundant.o
 BUILTIN_OBJS += builtin-pack-refs.o
 BUILTIN_OBJS += builtin-patch-id.o
 BUILTIN_OBJS += builtin-prune-packed.o
diff --git a/pack-redundant.c b/builtin-pack-redundant.c
similarity index 99%
rename from pack-redundant.c
rename to builtin-pack-redundant.c
index 21c61db..41e1615 100644
--- a/pack-redundant.c
+++ b/builtin-pack-redundant.c
@@ -568,7 +568,7 @@ static struct pack_list * add_pack(struct packed_git *p)
 		return pack_list_insert(&altodb_packs, &l);
 }
 
-static struct pack_list * add_pack_file(char *filename)
+static struct pack_list * add_pack_file(const char *filename)
 {
 	struct packed_git *p = packed_git;
 
@@ -593,7 +593,7 @@ static void load_all(void)
 	}
 }
 
-int main(int argc, char **argv)
+int cmd_pack_redundant(int argc, const char **argv, const char *prefix)
 {
 	int i;
 	struct pack_list *min, *red, *pl;
@@ -601,13 +601,9 @@ int main(int argc, char **argv)
 	unsigned char *sha1;
 	char buf[42]; /* 40 byte sha1 + \n + \0 */
 
-	git_extract_argv0_path(argv[0]);
-
 	if (argc == 2 && !strcmp(argv[1], "-h"))
 		usage(pack_redundant_usage);
 
-	setup_git_directory();
-
 	for (i = 1; i < argc; i++) {
 		const char *arg = argv[i];
 		if (!strcmp(arg, "--")) {
diff --git a/builtin.h b/builtin.h
index d4fec89..bd7f737 100644
--- a/builtin.h
+++ b/builtin.h
@@ -78,6 +78,7 @@ extern int cmd_mktree(int argc, const char **argv, const char *prefix);
 extern int cmd_mv(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_pack_redundant(int argc, const char **argv, const char *prefix);
 extern int cmd_patch_id(int argc, const char **argv, const char *prefix);
 extern int cmd_pickaxe(int argc, const char **argv, const char *prefix);
 extern int cmd_prune(int argc, const char **argv, const char *prefix);
diff --git a/git.c b/git.c
index 832bd2d..6cc1eba 100644
--- a/git.c
+++ b/git.c
@@ -343,6 +343,7 @@ static void handle_internal_command(int argc, const char **argv)
 		{ "mv", cmd_mv, RUN_SETUP | NEED_WORK_TREE },
 		{ "name-rev", cmd_name_rev, RUN_SETUP },
 		{ "pack-objects", cmd_pack_objects, RUN_SETUP },
+		{ "pack-redundant", cmd_pack_redundant, RUN_SETUP },
 		{ "patch-id", cmd_patch_id },
 		{ "peek-remote", cmd_ls_remote },
 		{ "pickaxe", cmd_blame, RUN_SETUP },
-- 
1.6.6.1.399.g73128
Previous: Linus TorvaldsNext: Linus Torvalds
Message 5 of 9 in “make more commands built-in”
  1. 0/5 make more commands built-inLinus Torvalds, Jan 22, 2010
  2. 1/5 make "merge-index" a built-inLinus Torvalds, Jan 22, 2010
  3. PATCH 2/5] make "mktag" a built-inLinus Torvalds, Jan 22, 2010
  4. 3/5 make "git unpack-file" a built-inLinus Torvalds, Jan 22, 2010
  5. 4/5 make "git pack-redundant" a built-inLinus Torvalds, Jan 22, 2010
  6. 5/5 make "index-pack" a built-inLinus Torvalds, Jan 22, 2010
  7. Junio C HamanoJan 22, 2010
  8. Linus TorvaldsJan 22, 2010
  9. Linus TorvaldsJan 22, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.