Change-Id: Iea1a7e61b60c4bf04be2fed9c503eaf7e20fe462 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/75783 Reviewed-by: Martin L Roth <gaumless@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
##
 | 
						|
## SPDX-License-Identifier: GPL-2.0-only
 | 
						|
 | 
						|
# In the hooks, use the same `make` tool as used when running `make gitconfig`,
 | 
						|
# e.g. `remake gitconfig` will set `remake` to be run by the hooks.
 | 
						|
MAKE="${1:-make}"
 | 
						|
 | 
						|
if ! { cdup="$(git rev-parse --show-cdup 2>/dev/null)" && [ -z "${cdup}" ]; }
 | 
						|
then
 | 
						|
	echo "Error: Not in root of a git repository"
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
coreboot_hooks=$(git rev-parse --git-path hooks)
 | 
						|
mkdir -p "${coreboot_hooks}"
 | 
						|
for hook in commit-msg pre-commit ; do
 | 
						|
	if [ util/gitconfig/${hook} -nt "${coreboot_hooks}/${hook}" ] \
 | 
						|
		|| [ ! -x "${coreboot_hooks}/${hook}" ]
 | 
						|
	then
 | 
						|
		sed -e "s,%MAKE%,${MAKE},g" util/gitconfig/$hook \
 | 
						|
			> "${coreboot_hooks}/${hook}"
 | 
						|
		chmod +x "${coreboot_hooks}/${hook}"
 | 
						|
	fi
 | 
						|
done
 | 
						|
# Now set up the hooks for 3rdparty/
 | 
						|
for submodule in 3rdparty/blobs libhwbase libgfxinit; do
 | 
						|
	hooks=$(git -C "$(git config --file .gitmodules --get \
 | 
						|
		submodule.${submodule}.path)" rev-parse --git-path hooks)
 | 
						|
	if [ -d "${hooks}" ]; then
 | 
						|
		if [ util/gitconfig/commit-msg -nt "${hooks}/commit-msg" ] \
 | 
						|
			|| [ ! -x "${hooks}/commit-msg" ]
 | 
						|
		then
 | 
						|
			sed -e "s,%MAKE%,${MAKE},g" util/gitconfig/commit-msg \
 | 
						|
				> "${hooks}/commit-msg"
 | 
						|
			chmod +x "${hooks}/commit-msg"
 | 
						|
		fi
 | 
						|
	fi
 | 
						|
done
 | 
						|
for d in 3rdparty/{blobs,libhwbase,libgfxinit}; do
 | 
						|
	if [ -d $d ]; then
 | 
						|
		(cd $d || exit 1
 | 
						|
		 git config remote.origin.push HEAD:refs/for/main)
 | 
						|
	fi
 | 
						|
done
 | 
						|
 | 
						|
git config remote.origin.push HEAD:refs/for/main
 | 
						|
git config alias.sup "!git submodule update --remote --rebase && \
 | 
						|
git submodule update --init --checkout"
 | 
						|
 | 
						|
git config alias.sup-destroy "!git submodule deinit --all --force; \
 | 
						|
git submodule update --init --checkout"
 | 
						|
 | 
						|
{ git config --includes user.name && \
 | 
						|
	git config --includes user.email; } >/dev/null || \
 | 
						|
	{ cat <<-EOMSG
 | 
						|
		Please configure your name and email in git:
 | 
						|
 | 
						|
		 git config --global user.name "Your Name Comes Here"
 | 
						|
		 git config --global user.email your.email@example.com
 | 
						|
EOMSG
 | 
						|
exit 1; }
 |