From 5f810751d7f795f1bb9c54ab9b254a7ad359de1a Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Sat, 4 Dec 2021 03:51:37 +0900 Subject: [PATCH] take exactly 7 hex characters for GITVERSION git-describe(3) says: --abbrev= Instead of using the default 7 hexadecimal digits as the abbreviated object name, use digits, or as many digits as needed to form a unique object name. An of 0 will suppress long format, only showing the closest tag. The number of "digits needed to form a unique object name" depends on your git repository, e.g. 1) how you cloned it, 2) how many local branches you have, etc. In the full cloned repository, --abbrev=1 for v1.21.1 gave me 5-digits as of writing (but it may increase in the future): $ git checkout v1.21.1 $ git describe --tags --always --long --abbrev=1 --match 'v*' v1.21.1-0-g988d2 In the repository cloned with --depth 1000, it is 4-digits. $ git clone --depth 1000 git://git.ipxe.org/ipxe.git $ ipxe $ git checkout v1.21.1 $ git describe --tags --always --long --abbrev=1 --match 'v*' v1.21.1-0-g988d To make the version string deterministic, use --abbrev=32 and then take the first 7 characters, which is reasonable for this project. Signed-off-by: Masahiro Yamada --- src/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile b/src/Makefile index 6a6011544..88cedb449 100644 --- a/src/Makefile +++ b/src/Makefile @@ -208,7 +208,7 @@ install : # # Version number calculations # -VERSIONS := $(if $(wildcard ../.git),$(shell git describe --tags --always --long --abbrev=1 --match "v*")) +VERSIONS := $(if $(wildcard ../.git),$(shell git describe --tags --always --long --abbrev=32 --match "v*")) ifneq ($(filter v%, $(VERSIONS)),) VERSION_TUPLE := $(subst ., ,$(subst -, ,$(patsubst v%,%,$(VERSIONS)))) @@ -231,7 +231,7 @@ endif MM_VERSION = $(VERSION_MAJOR).$(VERSION_MINOR) VERSION = $(MM_VERSION).$(VERSION_PATCH)$(EXTRAVERSION) ifneq ($(GITVERSION),) -VERSION += ($(GITVERSION)) +VERSION += ($(shell echo $(GITVERSION) | cut -c1-8)) endif version : @$(ECHO) "$(VERSION)"