diff options
Diffstat (limited to 'show-branch.c')
-rw-r--r-- | show-branch.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/show-branch.c b/show-branch.c index 452e63f786..24efb65e62 100644 --- a/show-branch.c +++ b/show-branch.c @@ -727,24 +727,16 @@ int main(int ac, char **av) while (seen) { struct commit *commit = pop_one_commit(&seen); int this_flag = commit->object.flags; + int is_merge_point = ((this_flag & all_revs) == all_revs); - shown_merge_point |= ((this_flag & all_revs) == all_revs); + shown_merge_point |= is_merge_point; if (1 < num_rev) { int is_merge = !!(commit->parents && commit->parents->next); - if (topics) { - int interesting = 0; - for (i = 1; i < num_rev; i++) { - if ((this_flag & - (1u << (i + REV_SHIFT)))) { - interesting = 1; - break; - } - } - if (!interesting) - continue; - } - + if (topics && + !is_merge_point && + (this_flag & (1u << REV_SHIFT))) + continue; for (i = 0; i < num_rev; i++) { int mark; |