Skip to content

Commit

Permalink
builtin-branch: factor out merge_filter matching
Browse files Browse the repository at this point in the history
The logic for checking commits against merge_filter will be reused
when we recalculate the maxwidth of refnames.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Lars Hjemli authored and Junio C Hamano committed Jul 27, 2008
1 parent 346d437 commit 7950cda
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions builtin-branch.c
Original file line number Diff line number Diff line change
@@ -294,18 +294,26 @@ static void fill_tracking_info(char *stat, const char *branch_name)
sprintf(stat, "[ahead %d, behind %d] ", ours, theirs);
}

static int matches_merge_filter(struct commit *commit)
{
int is_merged;

if (merge_filter == NO_FILTER)
return 1;

is_merged = !!(commit->object.flags & UNINTERESTING);
return (is_merged == (merge_filter == SHOW_MERGED));
}

static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
int abbrev, int current)
{
char c;
int color;
struct commit *commit = item->commit;

if (merge_filter != NO_FILTER) {
int is_merged = !!(item->commit->object.flags & UNINTERESTING);
if (is_merged != (merge_filter == SHOW_MERGED))
return;
}
if (!matches_merge_filter(commit))
return;

switch (item->kind) {
case REF_LOCAL_BRANCH:

0 comments on commit 7950cda

Please sign in to comment.