From 2f0f8b71ee45bcf91c2de480474a26030596fe3c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 8 Sep 2005 12:15:52 -0700 Subject: [PATCH] Show all merge-base candidates from show-branch --merge-base This would make things easier to use for Octopus. Signed-off-by: Junio C Hamano --- Documentation/git-show-branch.txt | 4 ++-- show-branch.c | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt index c947fced..cc7da308 100644 --- a/Documentation/git-show-branch.txt +++ b/Documentation/git-show-branch.txt @@ -33,8 +33,8 @@ OPTIONS --merge-base:: Instead of showing the commit list, just act like the - 'git-merge-base' command except that it can accept more - than two heads. + 'git-merge-base -a' command, except that it can accept + more than two heads. OUTPUT diff --git a/show-branch.c b/show-branch.c index 8b37aebb..ccb0c73b 100644 --- a/show-branch.c +++ b/show-branch.c @@ -4,7 +4,7 @@ #include "refs.h" static const char show_branch_usage[] = -"git-show-branch [--all] [--heads] [--tags] [--more=count] [...]"; +"git-show-branch [--all] [--heads] [--tags] [--more=count] [--merge-base] [...]"; #define UNINTERESTING 01 @@ -291,6 +291,7 @@ static int show_merge_base(struct commit_list *seen, int num_rev) { int all_mask = ((1u << (REV_SHIFT + num_rev)) - 1); int all_revs = all_mask & ~((1u << REV_SHIFT) - 1); + int exit_status = 1; while (seen) { struct commit *commit = pop_one_commit(&seen); @@ -298,10 +299,11 @@ static int show_merge_base(struct commit_list *seen, int num_rev) if (!(flags & UNINTERESTING) && ((flags & all_revs) == all_revs)) { puts(sha1_to_hex(commit->object.sha1)); - return 0; + exit_status = 0; + commit->object.flags |= UNINTERESTING; } } - return 1; + return exit_status; } int main(int ac, char **av) -- 2.11.0