git-rev-list problem with --max-age and --merge-order
From: Paul Mackerras <hidden>
Date: 2016-06-15 22:42:00
I have a version of gitk that draws stuff more-or-less as it receives it from git-rev-list -- it reorders the commits somewhat but it doesn't need to wait for the end of the output from git-rev-list before it can draw anything. To do that it passes --merge-order to git-rev-list and relies on the property that parents will be listed after all of their children. I also want to make the default be to show the commits for the last 30 days. However, using --max-age with --merge-order outputs many fewer commits than I get if I use the same --max-age argument without --merge-order. For example, on the current linux-2.6 git tree, git-rev-tree --max-age=1116330140 HEAD outputs 655 commits, whereas git-rev-tree --merge-order --max-age=1116330140 HEAD only outputs 173 commits. That date is 2005-05-17 21:42:20 in my timezone, about 30 days ago. An example of a commit that isn't output with --merge-order is 1e86d1c648508fd50e6c9960576b87906a7906ad: Author: Benjamin Herrenschmidt [off-list ref] 2005-06-02 14:11:37 Committer: Linus Torvalds [off-list ref] 2005-06-03 01:19:27 [PATCH] ppc64: Fix result code handling in prom_init Any ideas why using --merge-order means we don't see this one? It's certainly less than 30 days old. Thanks, Paul.