diff options
author | Junio C Hamano <junkio@cox.net> | 2006-02-26 21:19:14 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-02-26 21:19:14 -0800 |
commit | d9cfb964c7a59a39711da12e56563e10aa388331 (patch) | |
tree | 5f8751f28111e70e98189dda31d3502b829ffa98 | |
parent | ae563542bf10fa8c33abd2a354e4b28aca4264d7 (diff) | |
download | git-d9cfb964c7a59a39711da12e56563e10aa388331.tar.gz git-d9cfb964c7a59a39711da12e56563e10aa388331.tar.xz |
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>
-rw-r--r-- | rev-list.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/rev-list.c b/rev-list.c index d1c52a6a9..630626ec6 100644 --- a/rev-list.c +++ b/rev-list.c @@ -214,8 +214,6 @@ static struct object_list **process_tree(struct tree *tree, 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 @@ static void show_commit_list(struct commit_list *list) 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 @@ int main(int argc, const char **argv) } list = revs.commits; - if (list && list->next) + if (list) limited = 1; if (revs.topo_order) @@ -689,7 +687,7 @@ int main(int argc, const char **argv) 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; |