summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2017-07-09 05:58:10 -0400
committerJunio C Hamano <gitster@pobox.com>2017-07-09 09:24:42 -0700
commita5b3663898d6e45a5d109ce89c516adc2fd4ded2 (patch)
tree52a3a3dfcce6f9d07afc4a92544f5fb6f65cd287
parent613a0e52ea11c4496e3e154de192486a18eac2e4 (diff)
downloadgit-a5b3663898d6e45a5d109ce89c516adc2fd4ded2.tar.gz
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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/branch.c3
1 files changed, 2 insertions, 1 deletions
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;