Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-bundle: fix pack generation.
author
Junio C Hamano
<junkio@cox.net>
Tue, 6 Mar 2007 06:48:00 +0000
(22:48 -0800)
committer
Junio C Hamano
<junkio@cox.net>
Tue, 6 Mar 2007 07:28:36 +0000
(23:28 -0800)
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>
builtin-bundle.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
31930b5
)
diff --git
a/builtin-bundle.c
b/builtin-bundle.c
index d41a413b58d139283315720d9ffba95ea595cc1d..279b8f8e582665dda3c99d800094db2f5cf5af99 100644
(file)
--- 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);
}
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)
{
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);
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)
traverse_commit_list(&revs, show_commit, show_object);
close(1);
while (waitpid(pid, &status, 0) < 0)