tCache last revision and speed up generation. - bitreich-memestats - metrics an… | |
git clone git://src.adamsgaard.dk/bitreich-memestats | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 726dbaf74c47d4260c83251a2145d780a5d15bc9 | |
parent e082f9a06845793bcfa455df769420c1c926a85e | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sun, 29 Aug 2021 20:42:49 +0200 | |
Cache last revision and speed up generation. | |
Diffstat: | |
M Makefile | 2 +- | |
M extract-memecount.sh | 31 +++++++++++++++++++++++++++--… | |
2 files changed, 28 insertions(+), 5 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -17,7 +17,7 @@ memecount_semilog: plot-memecount.sh memecount.log | |
# output format: date<tab>commit<tab>n_memes | |
memecount.log: extract-memecount.sh | |
- ./extract-memecount.sh $(ANNNA) > $@ | |
+ ./extract-memecount.sh $(ANNNA) $@ | |
clean: | |
rm -f media-stats | |
diff --git a/extract-memecount.sh b/extract-memecount.sh | |
t@@ -1,16 +1,36 @@ | |
#!/bin/sh | |
# generate table of hashtag numbers over time | |
-annnadir="${1:-$HOME/code/annna}" | |
+if [ $# -lt 1 ]; | |
+then | |
+ printf "usage: %s annnadir [memecount.log]\n" "$(basename "$0")" >&2 | |
+ exit 1 | |
+fi | |
+ | |
+annnadir="${1}" | |
memefile="modules/hashtags/hashtags.txt" | |
update_annna=yes | |
-fromrevision="${2}" | |
+outputfile="${2:-memecount.log}" | |
+revisionrange="" | |
if [ ! -e "${annnadir}/${memefile}" ]; then | |
printf 'error: could not open %s\n' "${annnadir}/${memefile}" | |
exit 1 | |
fi | |
+if [ -f "${outputfile}" ]; then | |
+ lastrevision="$(tail -n 1 "${outputfile}" | cut -f 2)" | |
+ revisionrange="${lastrevision}..HEAD" | |
+fi | |
+ | |
+case "${outputfile}" in | |
+/*) | |
+ ;; | |
+*) | |
+ outputfile="$(pwd)/${outputfile}" | |
+ ;; | |
+esac | |
+ | |
cd "$annnadir" | |
if [ "$update_annna" = "yes" ]; then | |
git pull >/dev/null 2>&1 | |
t@@ -19,7 +39,8 @@ fi | |
headcommit="$(git rev-parse HEAD)" | |
i=0 | |
# derived from Hiltjo Posthuma's loc.sh | |
-git log --pretty='format:%H %cd %at' --date="format:%Y-%m-%d" | \ | |
+git log --pretty='format:%H %cd %at' --date="format:%Y-%m-%d" \ | |
+ "${revisionrange}" | \ | |
sort -k 2 | uniq -f 1 | \ | |
while read -r commit date timestamp; do | |
t@@ -52,8 +73,10 @@ git log --pretty='format:%H %cd %at' --date="format:%Y-%m-%… | |
lastprintdate="$date" | |
printf '%s\t%s\t%s\t%s\t%s\n' \ | |
- "$date" "$commit" "$n" "$timestamp" "$dn_dt" | |
+ "$date" "$commit" "$n" "$timestamp" "$dn_dt" \ | |
+ >> "${outputfile}" | |
fi | |
fi | |
done | |
+ |