From 498bcd3159ae3711f2beea2ea497cdc09856ee79 Mon Sep 17 00:00:00 2001 From: Thomas Rast Date: Fri, 29 Aug 2008 21:18:38 +0200 Subject: rev-list: fix --reverse interaction with --parents --reverse did not interact well with --parents, as the included test case shows: in a history like A--B. \ \ `C--M--D the command git rev-list --reverse --parents --full-history HEAD erroneously lists D as having no parents at all. (Without --reverse, it correctly lists M.) This is caused by the machinery driving --reverse: it first grabs all commits through the normal routines, then runs them through the same routines again, effectively simplifying them twice. Fix this by moving the --reverse one level up, into get_revision(). This way we can cleanly grab all commits via the normal calls, then just pop them off the list one by one without interfering with get_revision_internal(). Signed-off-by: Thomas Rast Signed-off-by: Junio C Hamano --- revision.h | 1 + 1 file changed, 1 insertion(+) (limited to 'revision.h') diff --git a/revision.h b/revision.h index dfa06b5210..b818cea76b 100644 --- a/revision.h +++ b/revision.h @@ -53,6 +53,7 @@ struct rev_info { rewrite_parents:1, print_parents:1, reverse:1, + reverse_output_stage:1, cherry_pick:1, first_parent_only:1; -- cgit v1.2.1