show-branch --topics: omit more uninteresting commits.
authorJunio C Hamano <junkio@cox.net>
Fri, 3 Mar 2006 22:34:40 +0000 (14:34 -0800)
committerJunio C Hamano <junkio@cox.net>
Fri, 3 Mar 2006 22:34:40 +0000 (14:34 -0800)
When inspecting contents of topic branches for yet-to-be-merged
commits, a commit that is in the release/master branch is
uninteresting.  Previous round still showed them, especially,
the ones before a topic branch that was forked from the
release/master later than other topic branches.

Signed-off-by: Junio C Hamano <junkio@cox.net>
show-branch.c

index 452e63f78682c44d52f1391a74077036b786f3b5..24efb65e622d8dfe44db22e5bc23c9f8cc328109 100644 (file)
@@ -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;