#!/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 return fi git -C "${gitdir}" add "${dst}" changes=$(git -C "${gitdir}" diff --cached | wc -l) if [ "$changes" -gt 0 ]; then git -C "${gitdir}" commit -m "Updated: ${dst} from ${url}" else echo "Nothing changed for ${url}" fi } 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