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()
-{
- local valid="0"
-
- if [ ${#} -ne 1 ]; then
- echo "Missing repository name"
- exit 1
- fi
-
- local r=${1}
-
- echo -n "Repo ${r}: "
-
- pushd "${r}" 1> /dev/null
- b=${branch}
-
- for b in ${branch} latest master; do
- exists=$(git show-ref refs/heads/${b})
- if [ -n "$exists" ]; then
- vco -q ${b} 1> /dev/null
- echo "${b}"
- valid="1"
- break
- fi
- done
-
- if [ x"${valid}" = x"0" ]; then
- echo "No valid branch found"
- 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}