summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: d51fac5)
raw | patch | inline | side by side (parent: d51fac5)
author | Junio C Hamano <junkio@cox.net> | |
Fri, 3 Mar 2006 22:34:40 +0000 (14:34 -0800) | ||
committer | Junio 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>
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 | patch | blob | history |
diff --git a/show-branch.c b/show-branch.c
index 452e63f78682c44d52f1391a74077036b786f3b5..24efb65e622d8dfe44db22e5bc23c9f8cc328109 100644 (file)
--- a/show-branch.c
+++ b/show-branch.c
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;