From 593ed1347c96aea691eb503a6bbed12c801f3faa Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 19 Dec 2018 12:47:25 +0100 Subject: Build info: Ensure hash length is same across all platforms and has no conflicts The original issue was that different platforms will use different hash lengths, just because defaults on Git client were different. Now we use explicit length for the hash, and length is the same as is used for short hashes in Linux -- apparently they started to have collisions with length of 11. --- build_files/cmake/buildinfo.cmake | 8 ++++---- build_files/cmake/packaging.cmake | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'build_files') diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake index a43b99f5d1e..12bbf49b747 100644 --- a/build_files/cmake/buildinfo.cmake +++ b/build_files/cmake/buildinfo.cmake @@ -22,7 +22,7 @@ if(EXISTS ${SOURCE_DIR}/.git) if(MY_WC_BRANCH STREQUAL "HEAD") # Detached HEAD, check whether commit hash is reachable # in the master branch - execute_process(COMMAND git rev-parse --short HEAD + execute_process(COMMAND git rev-parse --short=12 HEAD WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -80,12 +80,12 @@ if(EXISTS ${SOURCE_DIR}/.git) if(NOT _git_below_check STREQUAL "") # If there're commits between HEAD and upstream this means # that we're reset-ed to older revision. Use it's hash then. - execute_process(COMMAND git rev-parse --short HEAD + execute_process(COMMAND git rev-parse --short=12 HEAD WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH OUTPUT_STRIP_TRAILING_WHITESPACE) else() - execute_process(COMMAND git rev-parse --short @{u} + execute_process(COMMAND git rev-parse --short=12 @{u} WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH OUTPUT_STRIP_TRAILING_WHITESPACE @@ -94,7 +94,7 @@ if(EXISTS ${SOURCE_DIR}/.git) if(MY_WC_HASH STREQUAL "") # Local branch, not set to upstream. # Well, let's use HEAD for now - execute_process(COMMAND git rev-parse --short HEAD + execute_process(COMMAND git rev-parse --short=12 HEAD WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH OUTPUT_STRIP_TRAILING_WHITESPACE) diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake index 2408e4eaff9..fb69a7c726a 100644 --- a/build_files/cmake/packaging.cmake +++ b/build_files/cmake/packaging.cmake @@ -26,7 +26,7 @@ if(EXISTS ${CMAKE_SOURCE_DIR}/.git/) find_package(Git) if(GIT_FOUND) # message(STATUS "Found Git: ${GIT_EXECUTABLE}") - execute_process(COMMAND git rev-parse --short HEAD + execute_process(COMMAND git rev-parse --short=12 HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE MY_WC_HASH OUTPUT_STRIP_TRAILING_WHITESPACE -- cgit v1.2.3