#!/bin/sh
set -eu

REPO_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)

cd "$REPO_DIR"

BRANCH=$(git rev-parse --abbrev-ref HEAD)

if [ "${1:-}" = "" ]; then
  echo "Usage: $0 \"commit message\"" >&2
  exit 1
fi

COMMIT_MESSAGE=$1

echo "==> Git status"
git status --short --branch

echo "==> Stage changes"
git add -A

if git diff --cached --quiet; then
  echo "No staged changes to commit."
  exit 0
fi

echo "==> Commit"
git commit -m "$COMMIT_MESSAGE"

echo "==> Push origin/$BRANCH"
git push origin "$BRANCH"

echo "==> Done"
