Files
nix/update-submodules.sh
Nikolaos Karaolidis 8988398bff Add docker
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-07-31 15:33:02 +03:00

37 lines
850 B
Bash
Executable File

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
paths=$(git config --file .gitmodules --name-only --get-regexp path | while read -r line; do
path=$(git config --file .gitmodules --get "$line")
url=$(git config --file .gitmodules --get "${line%.*}.url")
if [[ $url == *"karaolidis"* ]]; then
echo "$path"
fi
done)
for path in $paths; do
echo "Processing submodule: $path"
cd "$path"
git checkout master
git fetch upstream
git merge upstream/master
branches=$(git for-each-ref --format='%(refname:short)' refs/heads/ | grep -v '^master$')
for branch in $branches; do
git checkout "$branch"
git rebase master
done
git checkout master
git push origin --all --force-with-lease
git push origin --tags --force-with-lease
cd - > /dev/null
done
echo "All submodules updated successfully."