1
0
Fork 0
lvspec/tools/gentasktime

50 lines
974 B
Bash
Executable File

#!/bin/bash
src="${1?Missing source document}"
path="${2?Missing spec src path}"
domake()
{
pdflatex -draftmode "$src" >&2
}
gendate()
{
echo -n "$( git log -n1 --pretty=format:%ai | cut -d' ' -f1 ) "
}
domake \
&& echo -n 'id ' \
&& head -n1 taskstats.dat \
&& \
(
echo -n '0 ' && gendate && tail -n1 taskstats.dat \
&& git log --no-merges --pretty=format:'%ar %h' -- "$path" \
| awk '
BEGIN {
last=""
}
/(days|weeks) ago|^(1[5-9]|2[0-9]) hours ago/{
if ( $0 ~ /hours/ ) {
$1 = 1
}
if ( $0 ~ /weeks/ ) {
$1 = $1*7
}
if ( $1 == last ) next;
if ( $1 < last ) next;
last = $1;
print $1, $NF;
}
' \
| while read n h; do
git checkout "$h" >&2 \
&& domake \
&& echo -n "-$n " \
&& gendate \
&& tail -n1 taskstats.dat \
|| { echo "Aborting data gathering."; exit 1; }
done
)