summaryrefslogtreecommitdiff
path: root/examples/pkglist
diff options
context:
space:
mode:
authorDaniel Friesel <derf@derf.homelinux.org>2010-02-07 16:47:02 +0100
committerDaniel Friesel <derf@derf.homelinux.org>2010-02-07 16:49:33 +0100
commita25dc638eae1a78ec60ec291c5f83c68c1cdbd0d (patch)
tree1964c2484b2162101efb8a854fa8c3e80ba346ba /examples/pkglist
parent3e96241318cd5dcef69bf00a43be14bf58a72097 (diff)
Move bootstrap and pkglist to examples/
Diffstat (limited to 'examples/pkglist')
-rwxr-xr-xexamples/pkglist34
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
+ }
+}