builtin-branch: factor out merge_filter matching
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>
This commit is contained in:

committed by
Junio C Hamano

parent
346d437aab
commit
7950cda782
@ -294,6 +294,17 @@ static void fill_tracking_info(char *stat, const char *branch_name)
|
|||||||
sprintf(stat, "[ahead %d, behind %d] ", ours, theirs);
|
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,
|
static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
|
||||||
int abbrev, int current)
|
int abbrev, int current)
|
||||||
{
|
{
|
||||||
@ -301,11 +312,8 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
|
|||||||
int color;
|
int color;
|
||||||
struct commit *commit = item->commit;
|
struct commit *commit = item->commit;
|
||||||
|
|
||||||
if (merge_filter != NO_FILTER) {
|
if (!matches_merge_filter(commit))
|
||||||
int is_merged = !!(item->commit->object.flags & UNINTERESTING);
|
return;
|
||||||
if (is_merged != (merge_filter == SHOW_MERGED))
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (item->kind) {
|
switch (item->kind) {
|
||||||
case REF_LOCAL_BRANCH:
|
case REF_LOCAL_BRANCH:
|
||||||
|
Reference in New Issue
Block a user