26 lines
569 B
Bash
Executable File
26 lines
569 B
Bash
Executable File
#!/bin/sh
|
|
|
|
progname="$(basename $0)"
|
|
|
|
if [ -z "$1" ]; then
|
|
cat >&2 <<EOF
|
|
Usage: $progname <git repo URL>
|
|
|
|
Finds all garlic/* branches and their current commit of the given
|
|
repository and builds the gitTable to be used in nix derivations.
|
|
|
|
Example:
|
|
garlic-git-table ssh://git@bscpm03.bsc.es/garlic/apps/heat.git
|
|
EOF
|
|
exit 1
|
|
fi
|
|
|
|
echo 'gitTable = {'
|
|
echo " # Auto-generated with $progname on $(date --rfc-3339=date)"
|
|
git ls-remote $1 'garlic/*' |\
|
|
sed 's@refs/heads/@@' |\
|
|
awk '{printf "\"%s\" = \"%s\";\n", $2, $1}' |\
|
|
column -t -o ' ' |\
|
|
sed 's/^/ /'
|
|
echo '};'
|