#!/bin/sh

RELEASE_ROOT=/srv/releases
GIT_ROOT=/srv/git

for project_dir in `find $GIT_ROOT -maxdepth 1 -mindepth 1 -type d`; do
    project=`basename $project_dir`

    export GIT_DIR=$project_dir

    for release in `git-tag -l release-* | sed s/^release-//`; do
        mkdir -p "$RELEASE_ROOT/$project"

        GIT_DIR=$project_dir

        tag="release-$release"
        filename="$RELEASE_ROOT/$project/$project-$release.tar.gz"
        tagdate=`git-show --pretty=format:'%ai' $tag | egrep '^[0-9]{4}-' | head -n1`

        if [ ! -e $filename ]; then
            echo "generating release $project-$release"
            git-archive --format=tar --prefix=$project-$release/ $tag | gzip > $filename
            touch $filename -d "$tagdate"
        fi
    done

done

