#!/bin/sh
# srht-mirror -- import a GitHub repo to sr.ht
set -eu
if [ -z "${1:-}" ]; then
echo "Usage: srht-mirror <github-url-or-user/repo> [srht-name]" >&2
exit 1
fi
GITHUB="$1"
case "$GITHUB" in
https://*) URL="$GITHUB" ;;
*) URL="https://github.com/$GITHUB" ;;
esac
NAME="${2:-$(basename "$URL" .git)}"
TOKEN=$(cat ~/.config/srht/token)
echo "[*] Importing $URL as $NAME..."
curl -s --oauth2-bearer "$TOKEN" -H 'Content-Type: application/json' \
-d "{\"query\": \"mutation { createRepository(name: \\\"$NAME\\\", visibility: PUBLIC, cloneUrl: \\\"$URL\\\") { id name } }\"}" \
https://git.sr.ht/query | jq -r '.data.createRepository | " \(.name) (id: \(.id))"'
echo "[+] Done: https://git.sr.ht/~krisyotam/$NAME"