mirror of https://github.com/ipxe/ipxe.git
take exactly 7 hex characters for GITVERSION
git-describe(3) says: --abbrev=<n> Instead of using the default 7 hexadecimal digits as the abbreviated object name, use <n> digits, or as many digits as needed to form a unique object name. An <n> 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 <masahiroy@kernel.org>pull/534/head
parent
37c2d10e0c
commit
5f810751d7
|
@ -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)"
|
||||
|
|
Loading…
Reference in New Issue