#!/bin/sh update() { url="$1" pad="$(basename "$url").txt" dst="$pad" gitdir="$(dirname "$dst")" curl --silent -k -o "${dst}" "${url}/export/txt" status="$?" if [ ${status} -ne 0 ]; then echo "Failed to get pad at ${url}" return fi newlength="$(wc -l < "${dst}")" if [ "$newlength" -lt 3 ] then echo "Skipping update of ${url}, because pad has likely been removed" return fi git -C "${gitdir}" add "${dst}" changes=$(git -C "${gitdir}" diff --cached | wc -l) if [ "$changes" -lt 1 ]; then echo "Nothing changed for ${url}" return fi git -C "${gitdir}" commit -m "Updated: ${dst} from ${url}" } if ! git rev-parse --is-inside-work-tree then echo "Not a working directory" exit 1 fi while read -r pad do update "$pad" git -C "${gitdir}" reset --hard HEAD done