Add support for hash generation for git repository (local modifier not implemented)

(cherry picked from commit 3da7d62b1a)
This commit is contained in:
Pierre Muller 2021-08-18 12:00:07 +02:00
parent 1fd49868c7
commit 18aae139cb
2 changed files with 24 additions and 2 deletions

View File

@ -2496,12 +2496,23 @@ distclean: clean fpc_distclean
digest : utils
-$(DIGEST) $(LOG)
SVNVERSION:=$(firstword $(wildcard $(addsuffix /svnversion$(SRCEXEEXT),$(SEARCHPATH))))
GIT:=$(firstword $(wildcard $(addsuffix /git$(SRCEXEEXT),$(SEARCHPATH))))
ifneq ($(wildcard ../.git),)
ifneq ($(GIT),)
GIT_GET_HASH=$(GIT) log -1 --format=%h
SVN_TESTS_REV_STR=$(shell $(GIT_GET_HASH) .)
SVN_COMPILER_REV_STR=$(shell $(GIT_GET_HASH) ../compiler)
SVN_RTL_REV_STR=$(shell $(GIT_GET_HASH) ../rtl)
SVN_PACKAGES_REV_STR=$(shell $(GIT_GET_HASH) ../packages)
else
ifneq ($(SVNVERSION),)
SVN_TESTS_REV_STR=$(shell $(SVNVERSION) -c .)
SVN_COMPILER_REV_STR=$(shell $(SVNVERSION) -c ../compiler)
SVN_RTL_REV_STR=$(shell $(SVNVERSION) -c ../rtl)
SVN_PACKAGES_REV_STR=$(shell $(SVNVERSION) -c ../packages)
endif
endif
endif
$(TEST_OUTPUTDIR)/dbdigest.cfg:
$(ECHOREDIR) OS=$(TEST_OS_TARGET) > $(TEST_OUTPUTDIR)/dbdigest.cfg
$(ECHOREDIR) CPU=$(TEST_CPU_TARGET) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
@ -2522,7 +2533,7 @@ endif
ifneq ($(TEST_FPC_FULLVERSION),)
$(ECHOREDIR) CompilerFullVersion=$(TEST_FPC_FULLVERSION) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
endif
ifneq ($(SVNVERSION),)
ifneq ($(SVN_TESTS_REV_STR),)
$(ECHOREDIR) svntestsrevision=$(SVN_TESTS_REV_STR) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
$(ECHOREDIR) svncompilerrevision=$(SVN_COMPILER_REV_STR) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
$(ECHOREDIR) svnrtlrevision=$(SVN_RTL_REV_STR) >> $(TEST_OUTPUTDIR)/dbdigest.cfg

View File

@ -607,12 +607,23 @@ digest : utils
SVNVERSION:=$(firstword $(wildcard $(addsuffix /svnversion$(SRCEXEEXT),$(SEARCHPATH))))
GIT:=$(firstword $(wildcard $(addsuffix /git$(SRCEXEEXT),$(SEARCHPATH))))
ifneq ($(wildcard ../.git),)
ifneq ($(GIT),)
GIT_GET_HASH=$(GIT) log -1 --format=%h
SVN_TESTS_REV_STR=$(shell $(GIT_GET_HASH) .)
SVN_COMPILER_REV_STR=$(shell $(GIT_GET_HASH) ../compiler)
SVN_RTL_REV_STR=$(shell $(GIT_GET_HASH) ../rtl)
SVN_PACKAGES_REV_STR=$(shell $(GIT_GET_HASH) ../packages)
else
ifneq ($(SVNVERSION),)
SVN_TESTS_REV_STR=$(shell $(SVNVERSION) -c .)
SVN_COMPILER_REV_STR=$(shell $(SVNVERSION) -c ../compiler)
SVN_RTL_REV_STR=$(shell $(SVNVERSION) -c ../rtl)
SVN_PACKAGES_REV_STR=$(shell $(SVNVERSION) -c ../packages)
endif
endif
endif
$(TEST_OUTPUTDIR)/dbdigest.cfg:
$(ECHOREDIR) OS=$(TEST_OS_TARGET) > $(TEST_OUTPUTDIR)/dbdigest.cfg
@ -634,7 +645,7 @@ endif
ifneq ($(TEST_FPC_FULLVERSION),)
$(ECHOREDIR) CompilerFullVersion=$(TEST_FPC_FULLVERSION) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
endif
ifneq ($(SVNVERSION),)
ifneq ($(SVN_TESTS_REV_STR),)
$(ECHOREDIR) svntestsrevision=$(SVN_TESTS_REV_STR) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
$(ECHOREDIR) svncompilerrevision=$(SVN_COMPILER_REV_STR) >> $(TEST_OUTPUTDIR)/dbdigest.cfg
$(ECHOREDIR) svnrtlrevision=$(SVN_RTL_REV_STR) >> $(TEST_OUTPUTDIR)/dbdigest.cfg