50 lines
974 B
Bash
Executable File
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
|
|
)
|