SCRIPT="`readlink -e $0`"
SCRIPTPATH=$(dirname ${SCRIPT})
-
-SUBREPOS_LIST=.gitsubrepos
-
-# Uncomment to have verbose debug output
-##debug=1
+source ${SCRIPTPATH}/hv-git-functions.sh
print_usage()
{
exit 1
fi
-if [ ! -f ${SUBREPOS_LIST} ]; then
- echo "Missing file for list of subrepos: ${SUBREPOS_LIST}"
- print_usage
- exit 1
-fi
+hv_git_validate_subrepos_list
branch=${1}
+rc=0
-update_repo()
-{
- if [ ${#} -ne 1 ]; then
- echo "Missing repository name"
- exit 1
- fi
-
- local r=${1}
-
- echo "Repo ${r}:"
-
- pushd "${r}" 1> /dev/null
- b=${branch}
- exists=$(git show-ref refs/heads/${b})
-
- if [ -n "$exists" ]; then
- [ -n "${debug}" ] && echo "branch <${b}> exists"
- vco ${b} 1> /dev/null
- else
- echo "Branch <${b}> not found, trying <latest>"
- b=latest
- exists=$(git show-ref refs/heads/${b})
- if [ -n "$exists" ]; then
- [ -n "${debug}" ] && echo "branch <${b}> exists"
- vco ${b} 1> /dev/null
- else
- echo "Branch <${b}> not found, defaulting to <master>"
- b=master
- exists=$(git show-ref refs/heads/${b})
- if [ -n "$exists" ]; then
- [ -n "${debug}" ] && echo "branch <${b}> exists"
- vco ${b} 1> /dev/null
- else
- echo "Error swtiching to branch <${b}>"
- exit 1
- fi
- fi
- fi
- popd 1> /dev/null
-}
-
-update_repo ./
-
-# Read list of repositories from file named .gitsubrepos
-while IFS=$'\n' read r ; do
- [[ "${r}" =~ \#.* ]] && continue # Skip comment lines
- [ -z ${r} ] && continue # Skip enmpty lines
-
+for r in ./ $(hv_git_get_subrepos_list); do
# Make sure directory exists
if [ ! -d "${r}" ]; then
- echo "Missing repos ${r}"
- exit 1
+ echo "Skipping missing repos ${r}"
+ continue
fi
- # Update only git repos
- if [ ! -d "${r}/.git" ]; then
- echo "Not a GIT repository"
- exit 1
- fi
+ hv_git_checkout ${r} ${branch}
+ rc=${?}
+done
- update_repo ${r}
-done < ${SUBREPOS_LIST}
+exit ${rc}