summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-03-06 06:48:00 (GMT)
committerJunio C Hamano <junkio@cox.net>2007-03-06 07:28:36 (GMT)
commitc044aa18f68bcba4f7ec6fd625eb48c2520a1bb1 (patch)
tree5d425545699fe0d6f7071b48c47568ea21d08215
parent31930b5beece8ff86f823b62cf0937e73e9494fa (diff)
downloadgit-c044aa18f68bcba4f7ec6fd625eb48c2520a1bb1.zip
git-c044aa18f68bcba4f7ec6fd625eb48c2520a1bb1.tar.gz
git-c044aa18f68bcba4f7ec6fd625eb48c2520a1bb1.tar.bz2
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>
-rw-r--r--builtin-bundle.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/builtin-bundle.c b/builtin-bundle.c
index d41a413..279b8f8 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)