luci.mk: rework logic to determine current branch

In case `git branch --remote` yields no result, fall back to `git branch`
without `--remote` since it is possible that the local branch has not
been pushed yet.

Also simplify extraction of the branch name by not passing `--verbose`
and utilizing variable substitutions instead of sed expressions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2022-09-10 14:54:25 +02:00
parent 5c5f4a8d1f
commit 447e362f0b

View File

@ -113,10 +113,11 @@ PKG_SRC_VERSION?=$(if $(DUMP),x,$(strip $(call findrev,1)))
PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \
variant="LuCI"; \
if git log -1 >/dev/null 2>/dev/null; then \
branch="$$(git branch --remote --verbose --no-abbrev --contains 2>/dev/null | \
sed -rne 's|^[^/]+/([^ ]+) [a-f0-9]{40} .+$$|\1|p' | head -n1)"; \
branch=$$(git branch --remote --no-abbrev --contains 2>/dev/null | tail -n1); \
branch=$${branch:-$$(git branch --no-abbrev --contains 2>/dev/null)}; \
branch=$${branch#? }; branch=$${branch#*/}; \
if [ "$$branch" != "master" ]; then \
variant="LuCI $$branch branch"; \
variant="LuCI $${branch:-unknown} branch"; \
else \
variant="LuCI Master"; \
fi; \