#!/bin/sh
#
# Push tcsh to GitHub.
#
# 20170201  Kimmo Suominen
#

PATH=/usr/local/bin:/bin:/usr/bin:/usr/pkg/bin
export PATH

PROG="${0##*/}"

die()
{
    echo "${PROG}: ${@}" 1>&2
    exit 1
}

case "${1:-}" in
'')
    die 'Must provide a repository to mirror'
    ;;
tcsh|tcsh-archive-keyring)
    ;;
*)
    die "Unknown repository '${1}'"
    ;;
esac

IDENTITY="${HOME}/.ssh/${1}-deploy"
REPO="/p/tcsh/${1}.git"
REMOTE=github

case "${SSH_AUTH_SOCK}" in
'')
    exec ssh-agent "${0}" "${@}"
    die 'Failed to start ssh-agent'
    ;;
esac

ssh-add "${IDENTITY}" >/dev/null 2>&1 \
|| die "Failed to add identity '${IDENTITY}'"

cd "${REPO}" \
|| die "Failed to change dir to '${REPO}'"

# The remote is presumably setup with the --mirror option.
# git remote add --mirror=push github git@github.com:tcsh-org/tcsh.git
git push --quiet "${REMOTE}"
