2017-12-13 23:21:33 +01:00
|
|
|
#!/bin/bash
|
2018-01-04 21:31:29 +01:00
|
|
|
|
|
|
|
##
|
|
|
|
## This file is part of the coreboot project.
|
|
|
|
##
|
|
|
|
## Copyright (C) 2011 secunet Security Networks AG
|
|
|
|
##
|
|
|
|
## This program is free software; you can redistribute it and/or modify
|
|
|
|
## it under the terms of the GNU General Public License as published by
|
|
|
|
## the Free Software Foundation; version 2 of the License.
|
|
|
|
##
|
|
|
|
## This program is distributed in the hope that it will be useful,
|
|
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
## GNU General Public License for more details.
|
|
|
|
##
|
|
|
|
|
2017-12-13 23:21:33 +01:00
|
|
|
if [ ! -d .git ]; then
|
|
|
|
echo "Error: Not in a git repository"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
mkdir -p .git/hooks
|
|
|
|
for hook in commit-msg pre-commit ; do
|
|
|
|
if [ util/gitconfig/$hook -nt .git/hooks/$hook ] || \
|
|
|
|
[ ! -x .git/hooks/$hook ]; then
|
|
|
|
sed -e "s,%MAKE%,remake,g" util/gitconfig/$hook > .git/hooks/$hook
|
|
|
|
chmod +x .git/hooks/$hook
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
# Now set up the hooks for 3rdparty/
|
|
|
|
for hooks in .git/modules/{3rdparty/blobs,libhwbase,libgfxinit}/hooks; do
|
|
|
|
if [ -d $hooks ]; then
|
|
|
|
if [ util/gitconfig/commit-msg -nt $hooks/commit-msg ] || \
|
|
|
|
[ ! -x $hooks/commit-msg ]; then
|
2018-01-02 01:58:28 +01:00
|
|
|
sed -e "s,%MAKE%,remake,g" \
|
2017-12-13 23:21:33 +01:00
|
|
|
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/master)
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
git config remote.origin.push HEAD:refs/for/master
|
|
|
|
git config alias.sup '!git submodule update --remote --rebase && git submodule update --init --checkout'
|
|
|
|
git config alias.sup-destroy '!git submodule deinit --force "$(git rev-parse --show-toplevel)"; git submodule init && git submodule update --checkout'
|
|
|
|
(git config --includes user.name >/dev/null && git config --includes user.email >/dev/null) || (printf 'Please configure your name and email in git:\n\n git config --global user.name "Your Name Comes Here"\n git config --global user.email your.email@example.com\n'; exit 1)
|