diff options
Diffstat (limited to 'examples/pkglist')
-rwxr-xr-x | examples/pkglist | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/pkglist b/examples/pkglist new file mode 100755 index 0000000..95696a2 --- /dev/null +++ b/examples/pkglist @@ -0,0 +1,34 @@ +#!/usr/bin/env zsh +## on the PKG_HOST: list available packages +## used by ct update remote +## the PKG_PATH (package root path) is given as first argument ($1) + +if [[ ! -d $1 ]] { + echo "$0: package root directory '$1' does not exist!" >&2 + exit 1 +} + +setopt err_exit + +cd $1 +shift + +for i in *(-/); { + + # git repo + if [[ -d $i/.git ]] { + echo -n "$i git " + echo -n ${$(git --git-dir=$i/.git log -n 1)[2]} + echo " $*" + + # bare git repo + } elif [[ -d $i/objects && -d $i/refs ]] { + echo -n "$i git " + echo -n ${$(git --git-dir=$i log -n 1)[2]} + echo " $*" + + # unknown + } else { + echo "$i: Unsupported or no repository" >&2 + } +} |