+++ /dev/null
-#!/bin/bash
-
-print_usage()
-{
- echo "$(basename $0) -- gives status of version control subrepositories."
- echo "Usage: $(basename $0) [OPTIONS...]"
- echo "Options:"
- echo " -h display this help and exit"
- echo " -m display only subrepositories with local modifications"
-}
-
-while getopts "hm" flag ;do
- case ${flag} in
- h)
- print_usage
- exit 0
- ;;
- m)
- DISPLAY_LOCAL_MODS_ONLY=1
- ;;
- ?)
- echo "${PROG_NAME}: Invalid option: ${OPTARG}."
- echo "Try \`${PROG_NAME} --help' for more information."
- exit 1
- ;;
- esac
-done
-shift `expr "${OPTIND}" - 1`
-
-# `$#' now represents the number of arguments after the options.
-# `$1' is the first argument, etc.
-
-if [ ! -f .hgsub ]; then
- echo "No Mercurial subrepositories found"
- exit 1
-fi
-
-# Read lines from .hgsub
-while read sub; do
- # Remove CR (DOS)
- sub="${sub//$'\r'/}"
-
- if [ "${sub}" != "" ]; then
- # Get subrepository URL
- src="${sub//*= /}"
-
- # Replace using subpaths extension content
- src=${src/${sp_src}/${sp_dst}}
-
- # Get subrepository local alias or label
- dest="${sub// =*}"
-
- # Get project ID (example: S0289)
- id=$(echo ${sub} | sed "s/.*\(S[0-9][0-9][0-9][0-9]\).*/\1/")
-
- # Get revision of subrepository (remove CR from .hgsubstate)
- rev=$(cat .hgsubstate | tr -d '\r' | grep "${id}" | sed "s/ .*//")
-
- if [ -n "${debug}" ]; then
- echo "repo: ${src}"
- echo " id: ${id}"
- echo " rev: ${rev}"
- echo " src: ${src}"
- echo " dest: ${dest}"
- fi
-
- pushd "${dest}" 1> /dev/null
-
- if vs | grep -q "nothing to commit"; then
- LOCAL_MODS=0
- else
- LOCAL_MODS=1
- fi
-
- if [ "x${DISPLAY_LOCAL_MODS_ONLY}" != "x1" ]; then
- # Force to display all subrepositories if -m is not specified
- LOCAL_MODS=1
- fi
-
- if [ "x${LOCAL_MODS}" = "x1" ]; then
- echo "============================"
- echo "subrepo: ${dest}"
- vs
- fi
-
- popd 1> /dev/null
- fi
-done < .hgsub