#!/bin/sh
set -eu

default_branch="$(git symbolic-ref refs/remotes/origin/HEAD | cut -d/ -f4)"
dest="${1:-$default_branch}"
current="$(git symbolic-ref --short HEAD)" || exit 0  # Detached head.

[ "$current" != "$dest" ] || exit 0

patch="$(git format-patch "$(git merge-base HEAD "$dest")..$dest" --stdout)"

[ "$patch" != "" ] || exit 0

echo "$patch" | git apply --check -
