apenwarr-redo/version/gitvars.do
Tim Allen 204ac1411d Fix another "==" -> "=" bashism.
I notice it doesn't quite work on my Ubuntu system - if I "cd version"
and run "../redo", I get the following output:

   redo  all
   redo    vars
   redo      gitvars
   [: 24: %H: unexpected operator
   [: 24: %d: unexpected operator
   [: 24: %ci: unexpected operator

...and then a hang.
2011-01-18 00:48:51 -08:00

24 lines
748 B
Text

redo-ifchange gitvars.pre prodname
read PROD <prodname
# Fix each line from gitvars.pre where git may or may not have already
# substituted the variables. If someone generated a tarball with 'git archive',
# then the data will have been substituted already. If we're in a checkout of
# the git repo, then it won't, but we can just ask git to do the substitutions
# right now.
while read line; do
# Lines *may* be of the form: $Format: ... $
x=${line#\$Format:} # remove prefix
if [ "$x" != "$line" ]; then
# git didn't substitute it
x=${x%\$} # remove trailing $
if [ "$x" = "%d" ]; then
tag=$(git describe --match="$PROD-*")
x="(tag: $tag)"
else
x=$(git log -1 --pretty=format:"$x")
fi
fi
echo "$x"
done <gitvars.pre