[Mesa-dev] [PATCH] automake: increase the MESA_GIT_SHA1 hash id length from 7 to 10 digits

Eric Engestrom eric.engestrom at imgtec.com
Thu Jun 15 14:14:44 UTC 2017


On Thursday, 2017-06-15 08:06:54 -0600, Brian Paul wrote:
> The SCons build has been using 10 digits of the git hash id for the
> MESA_GIT_SHA1 string in git_sha1.h for about a year now.  I bumped it
> up after running into a case where a 7-digit hash ID was ambiguous.
> 
> This patch makes the same change for the autotools build.
> 
> The command "git log | grep "^commit" | cut -b 8-14 | sort | uniq -d"
> shows there are currently 17 cases where 7 digits of hash id are
> ambiguous on master (probably quite a few more if we'd consider other
> branches).
> 
> Instead of using "git log -n 1 --oneline" use
> "git rev-parse --short=10 HEAD" to get the HEAD hash id.
> 
> v2: use printf instead of sed, per Eric's suggestion.

And good use of the backtick, instead of $(shell), to be compatible with
non-GNU make; I would've made that mistake :)

Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

> ---
>  src/Makefile.am | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/Makefile.am b/src/Makefile.am
> index aa5f8aa..df912c4 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -28,8 +28,8 @@ git_sha1.h.tmp:
>  	@touch git_sha1.h.tmp
>  	@if test -e $(top_srcdir)/.git; then \
>  		if which git > /dev/null; then \
> -		    git --git-dir=$(top_srcdir)/.git log -n 1 --oneline | \
> -			sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
> +			printf '#define MESA_GIT_SHA1 "git-%s"\n' \
> +			`git --git-dir=$(top_srcdir)/.git rev-parse --short=10 HEAD` \
>  			> git_sha1.h.tmp ; \
>  		fi \
>  	fi
> -- 
> 1.9.1
> 


More information about the mesa-dev mailing list