From: Junio C Hamano <junkio@cox.net>
Date: Tue, 6 Mar 2007 06:48:00 +0000 (-0800)
Subject: git-bundle: fix pack generation.
X-Git-Tag: v1.5.1-rc1~90
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c044aa18f68bcba4f7ec6fd625eb48c2520a1bb1;p=git

git-bundle: fix pack generation.

The handcrafted built-in rev-list lookalike forgot to mark the trees
and blobs contained in the boundary commits uninteresting, resulting
in unnecessary objects in the pack.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---

diff --git a/builtin-bundle.c b/builtin-bundle.c
index d41a413b58..279b8f8e58 100644
--- a/builtin-bundle.c
+++ b/builtin-bundle.c
@@ -263,6 +263,11 @@ static void show_object(struct object_array_entry *p)
 	write_or_die(1, "\n", 1);
 }
 
+static void show_edge(struct commit *commit)
+{
+	; /* nothing to do */
+}
+
 static int create_bundle(struct bundle_header *header, const char *path,
 		int argc, const char **argv)
 {
@@ -341,6 +346,7 @@ static int create_bundle(struct bundle_header *header, const char *path,
 	dup2(in, 1);
 	close(in);
 	prepare_revision_walk(&revs);
+	mark_edges_uninteresting(revs.commits, &revs, show_edge);
 	traverse_commit_list(&revs, show_commit, show_object);
 	close(1);
 	while (waitpid(pid, &status, 0) < 0)