From: Jeff King Date: Sun, 9 Jul 2017 09:58:10 +0000 (-0400) Subject: branch: only perform HEAD check for local branches X-Git-Tag: v2.13.3~1^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a5b3663898d6e45a5d109ce89c516adc2fd4ded2;p=thirdparty%2Fgit.git branch: only perform HEAD check for local branches When assembling the ref-filter format to show "git branch" output, we put the "%(if)%(HEAD)" conditional at the start of the overall format. But there's no point in checking whether a remote branch matches HEAD, as it never will. The check should go inside the local conditional; we assemble that format inside the "local" strbuf. By itself, this is just a minor optimization. But in a future patch, we'll need this refactoring to fix local-branch coloring. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/builtin/branch.c b/builtin/branch.c index 64d3e7d7c9..5f8b5ada8e 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -331,8 +331,9 @@ static char *build_format(struct ref_filter *filter, int maxwidth, const char *r struct strbuf local = STRBUF_INIT; struct strbuf remote = STRBUF_INIT; - strbuf_addf(&fmt, "%%(if)%%(HEAD)%%(then)* %s%%(else) %%(end)", + strbuf_addf(&local, "%%(if)%%(HEAD)%%(then)* %s%%(else) %%(end)", branch_get_color(BRANCH_COLOR_CURRENT)); + strbuf_addf(&remote, " "); if (filter->verbose) { struct strbuf obname = STRBUF_INIT;