diff options
Diffstat (limited to 'buildconfigs/select-repository')
-rwxr-xr-x | buildconfigs/select-repository | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/buildconfigs/select-repository b/buildconfigs/select-repository new file mode 100755 index 0000000000..db46049adb --- /dev/null +++ b/buildconfigs/select-repository @@ -0,0 +1,49 @@ +#!/bin/bash + +ME=$(basename $0) + +if [ $# -lt 1 ] || [ $# -gt 2 ] ; then + echo "usage: $ME <repository-name> [search-path]" 1>&2 + exit 1; +fi + +REPO=$1 +LINUX_SRC_PATH=$2 + +if [ X"${LINUX_SRC_PATH}" != X ] ; then + echo "$ME: Searching \`${LINUX_SRC_PATH}' for $REPO" 1>&2 + IFS_saved="$IFS" + IFS=: + for i in $LINUX_SRC_PATH ; do + # Ignore current directory since we will almost certainly find + # the target directory there which breaks updating (there's no + # point updating from yourself!). + if [ X"." = X"${i}" ] ; then + echo "$ME: Ignoring \`.'" 1>&2 + continue + fi + + if [ -d "$i/$REPO/.hg" ] ; then + echo "$ME: Found $i/$REPO" 1>&2 + echo "$i/$REPO" + exit 0 + fi + done + IFS="$IFS_saved" +fi + +XEN=$(hg -R ${XEN_ROOT} path default) +if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then + echo "$ME: Unable to determine Xen repository parent." 1>&2 + exit 1; +fi + +BASE=$(dirname ${XEN}) +if [ $? -ne 0 ] || [ X"$XEN" = "X" ] ; then + echo "$ME: Unable to determine Xen repository parent." 1>&2 + exit 1; +fi + +echo "$ME: Found ${BASE}/${REPO}" 1>&2 +echo ${BASE}/${REPO} +exit 0 |