# Synchronizing Git Submodules Modifying URLs Sometimes it is not possible to access submodules as they were registered. Solution is here: ```{.bash} #!/bin/bash NUMARGS=$# SCRIPT=`basename ${BASH_SOURCE[0]}` GREEN='\033[1;32m' NC='\033[0m' function HELP { echo -e "${GREEN}Usage${NC}: ${SCRIPT} server-name ip-address timeout-sec" exit 1 } if [ $NUMARGS -ne 3 ]; then HELP fi name=$1 address=$2 timeout=$3 rc=1 while [ $rc -ne 0 ]; do find ./ -type f \( -name .gitmodules \) -print0 | xargs -0 sed -i "s/$name/$address/g" git submodule sync --recursive timeout $timeout git submodule update --init --recursive rc=$? done echo -e "${GREEN}All done.${NC}" ```