rev-list split: minimum fixup.
This fixes "the other end has commit X but since then we tagged
that commit with tag T, and he says he wants T -- what is the
list of objects we need to send him?" question:
git-rev-list --objects ^X T
We ended up sending everything since the beginning of time X-<.
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/rev-list.c b/rev-list.c
index d1c52a6..630626e 100644
--- a/rev-list.c
+++ b/rev-list.c
@@ -214,8 +214,6 @@
return p;
}
-static struct object_list *pending_objects = NULL;
-
static void show_commit_list(struct commit_list *list)
{
struct object_list *objects = NULL, **p = &objects, *pending;
@@ -226,7 +224,7 @@
if (process_commit(commit) == STOP)
break;
}
- for (pending = pending_objects; pending; pending = pending->next) {
+ for (pending = revs.pending_objects; pending; pending = pending->next) {
struct object *obj = pending->item;
const char *name = pending->name;
if (obj->flags & (UNINTERESTING | SEEN))
@@ -675,7 +673,7 @@
}
list = revs.commits;
- if (list && list->next)
+ if (list)
limited = 1;
if (revs.topo_order)
@@ -689,7 +687,7 @@
limited = 1;
diff_tree_setup_paths(revs.paths);
}
- if (revs.max_age || revs.min_age)
+ if (revs.max_age != -1 || revs.min_age != -1)
limited = 1;
save_commit_buffer = verbose_header;