#!/bin/sh

# Check for local checkouts with pending commits

# https://www.fossil-scm.org/fossil/doc/tip/www/tech_overview.wiki
CHECKOUT_DB_WIN=_FOSSIL_
CHECKOUT_DB_UNIX=.fslckout

# Get Checkout Database name
db_name()
{
    uname -a| grep -q '^MSYS\|^MINGW'
    if [ $? -eq 0 ];then
        echo ${CHECKOUT_DB_WIN}
    else
        echo ${CHECKOUT_DB_UNIX}
    fi
}

THIS_DIR=`dirname \`readlink -f $0\``
NEST_DIR=`dirname ${THIS_DIR}`
CHECKOUT_DB=`db_name`

printf "Edited\tExtras\tRepos\n"
echo "------------------------------------------------------"
CHECKOUT_DB_LIST=`find "${NEST_DIR}" -type f -name ${CHECKOUT_DB}`
for f in ${CHECKOUT_DB_LIST}; do
    THIS_REPO_DIR=`dirname $f`
    cd ${THIS_REPO_DIR} && COUNT_EXTRAS=`fossil extra | wc -l` && fossil status | grep -q "EDITED\|ADDED"
    [ $? -eq 0 ] && echo -n YES || echo -n NO
    printf "\t${COUNT_EXTRAS}\t${THIS_REPO_DIR}\n"
done
