summaryrefslogtreecommitdiff
path: root/revision.h
diff options
context:
space:
mode:
authorThomas Rast <trast@student.ethz.ch>2008-08-29 19:18:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-08-30 05:20:51 (GMT)
commit498bcd3159ae3711f2beea2ea497cdc09856ee79 (patch)
treeee7d6a7e80e6a75d3f87cd8e18a66a4ed4a3a3f5 /revision.h
parent65347030590bcc251a9ff2ed96487a0f1b9e9fa8 (diff)
downloadgit-498bcd3159ae3711f2beea2ea497cdc09856ee79.zip
git-498bcd3159ae3711f2beea2ea497cdc09856ee79.tar.gz
git-498bcd3159ae3711f2beea2ea497cdc09856ee79.tar.bz2
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 <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.h')
-rw-r--r--revision.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/revision.h b/revision.h
index dfa06b5..b818cea 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;