MAINTAINERS: Add Maximilian Brune to RISC-V
[coreboot.git] / util / gitconfig / gitconfig.sh
blobe91a039654080d2b561ecdd5e2afe98af4dc5a23
1 #!/usr/bin/env bash
2 ##
3 ## SPDX-License-Identifier: GPL-2.0-only
5 # In the hooks, use the same `make` tool as used when running `make gitconfig`,
6 # e.g. `remake gitconfig` will set `remake` to be run by the hooks.
7 MAKE="${1:-make}"
9 if ! { cdup="$(git rev-parse --show-cdup 2>/dev/null)" && [ -z "${cdup}" ]; }
10 then
11 echo "Error: Not in root of a git repository"
12 exit 1
14 coreboot_hooks=$(git rev-parse --git-path hooks)
15 mkdir -p "${coreboot_hooks}"
16 for hook in commit-msg pre-commit ; do
17 if [ util/gitconfig/${hook} -nt "${coreboot_hooks}/${hook}" ] \
18 || [ ! -x "${coreboot_hooks}/${hook}" ]
19 then
20 sed -e "s,%MAKE%,${MAKE},g" util/gitconfig/$hook \
21 > "${coreboot_hooks}/${hook}"
22 chmod +x "${coreboot_hooks}/${hook}"
24 done
25 # Now set up the hooks for 3rdparty/
26 for submodule in 3rdparty/blobs libhwbase libgfxinit; do
27 hooks=$(git -C "$(git config --file .gitmodules --get \
28 submodule.${submodule}.path)" rev-parse --git-path hooks)
29 if [ -d "${hooks}" ]; then
30 if [ util/gitconfig/commit-msg -nt "${hooks}/commit-msg" ] \
31 || [ ! -x "${hooks}/commit-msg" ]
32 then
33 sed -e "s,%MAKE%,${MAKE},g" util/gitconfig/commit-msg \
34 > "${hooks}/commit-msg"
35 chmod +x "${hooks}/commit-msg"
38 done
39 for d in 3rdparty/{blobs,libhwbase,libgfxinit}; do
40 if [ -d $d ]; then
41 (cd $d || exit 1
42 git config remote.origin.push HEAD:refs/for/main)
44 done
46 git config remote.origin.push HEAD:refs/for/main
47 git config alias.sup "!git submodule update --remote --rebase && \
48 git submodule update --init --checkout"
50 git config alias.sup-destroy "!git submodule deinit --all --force; \
51 git submodule update --init --checkout"
53 { git config --includes user.name && \
54 git config --includes user.email; } >/dev/null || \
55 { cat <<-EOMSG
56 Please configure your name and email in git:
58 git config --global user.name "Your Name Comes Here"
59 git config --global user.email your.email@example.com
60 EOMSG
61 exit 1; }