git-show-branch: tighten merge-base computation.

This makes the merge-base computation resistant to the pathological
case discussed on the list earlier, by doing the same logic as
git-merge-base.  As a side effect, it breaks the command's primary
function to list non-merge commit sequences, which needs to be fixed
separately.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 2005-11-09 23:36:15 -08:00
parent 592ee97d8f
commit 9ce7028531
1 changed files with 2 additions and 2 deletions

View File

@ -181,11 +181,11 @@ static void join_revs(struct commit_list **list_p,


while (*list_p) { while (*list_p) {
struct commit_list *parents; struct commit_list *parents;
int still_interesting = !!interesting(*list_p);
struct commit *commit = pop_one_commit(list_p); struct commit *commit = pop_one_commit(list_p);
int flags = commit->object.flags & all_mask; int flags = commit->object.flags & all_mask;
int still_interesting = !!interesting(*list_p);


if (!still_interesting && extra < 0) if (!still_interesting && extra <= 0)
break; break;


mark_seen(commit, seen_p); mark_seen(commit, seen_p);