diff options
author | Lars Hjemli <hjemli@gmail.com> | 2008-07-26 12:27:24 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-27 14:14:01 -0700 |
commit | 7950cda782fc313569a8a09be0bfab234689627a (patch) | |
tree | 188ac29069e3f228fb781fb907ed584ef222b138 /builtin-branch.c | |
parent | 346d437aab2496872f477bb759db10a43b5dfb5e (diff) | |
download | git-7950cda782fc313569a8a09be0bfab234689627a.tar.gz git-7950cda782fc313569a8a09be0bfab234689627a.tar.xz |
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>
Diffstat (limited to 'builtin-branch.c')
-rw-r--r-- | builtin-branch.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/builtin-branch.c b/builtin-branch.c index 675a9b163..c0f1c2ede 100644 --- a/builtin-branch.c +++ b/builtin-branch.c @@ -294,6 +294,17 @@ 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) { @@ -301,11 +312,8 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose, 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: |