#!/bin/sh ## on the PKG_HOST: list available packages ## non-zsh version ## used by ct update remote if [ -z "${PKG_PATH}" -o -z "${PKG_PROTO}" ]; then echo "PKG_PATH and PKG_PROTO must be set while running ${0}" >&2 exit 1 fi if [ ! -d "${PKG_PATH}" ]; then echo "${0}: package root directory '${PKG_PATH}' does not exist!" >&2 exit 1 fi set -e cd "${PKG_PATH}" for dir in $(find . -mindepth 1 -maxdepth 1 ! -name ".?*" -type d | sed 's/.\///'); do # git repo if [ -d ${dir}/.git ]; then echo -n "${dir} git " echo -n $(git --git-dir=${dir}/.git log --format="format:%H" -n 1) echo " ${PKG_PROTO}://${PKG_UAH}/${PKG_PATH}/${dir}/.git" elif [ -d ${dir}/objects -a -d ${dir}/refs ]; then # bare git repo echo -n "${dir} git " echo -n $(git --git-dir=${dir} log --format="format:%H" -n 1) echo " ${PKG_PROTO}://${PKG_UAH}/${PKG_PATH}/${dir}" else # unknown echo "${dir}: Unsupported or no repository" >&2 fi done