revision.c: make default history consider bottom commits
commit141efdba57b1769fc60ff9a3925afbc6af398faf
authorKevin Bracey <kevin@bracey.fi>
Thu, 16 May 2013 15:32:41 +0000 (16 18:32 +0300)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 May 2013 18:51:10 +0000 (16 11:51 -0700)
tree327e0be1f543a2c04219c27b3130aa80860bdeb8
parentbf3418b08bac89902a5f6c70f8695f148df99828
revision.c: make default history consider bottom commits

Previously, the default history treated bottom commits the same as any
other UNINTERESTING commit, which could force it down side branches.

Consider the following history:

   *A--*B---D--*F         * marks !TREESAME parent paths
     \     /*
      `-C-'

When requesting "B..F", B is UNINTERESTING but TREESAME to D. C is
!UNINTERESTING.

So default following would go from D into the irrelevant side branch C
to A, rather than to B.  Note also that if there had been an extra
!UNINTERESTING commit B1 between B and D, it wouldn't have gone down C.

Change the default following to test relevant_commit() instead of
!UNINTERESTING, so it can proceed straight from D to B, thus finishing
the traversal of that path.

Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
revision.c
t/t6111-rev-list-treesame.sh