#!/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
