#!/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}"
  else
  	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
  fi
  
  git -C "${gitdir}" reset --hard HEAD
}

if ! git rev-parse --is-inside-work-tree
then
  echo "Not a working directory"
  exit 1
fi

while read -r pad
do
  update "$pad"
done