#!/usr/bin/env bash # Push current repo to Gitea (d-bis org). Uses GITEA_TOKEN for HTTPS auth. # Usage: GITEA_TOKEN=xxx bash scripts/dev-vm/push-to-gitea.sh # Or from repo root: GITEA_TOKEN=xxx bash scripts/dev-vm/push-to-gitea.sh # Run from each project dir, or set REPO_NAME and run from project root. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" [ -f "$PROJECT_ROOT/.env" ] && set +u && source "$PROJECT_ROOT/.env" 2>/dev/null || true && set -u GITEA_ORG="${GITEA_ORG:-d-bis}" GITEA_URL="${GITEA_URL:-https://gitea.d-bis.org}" # Use current directory if it's a git repo, else use PROJECT_ROOT (proxmox) if [ -d ".git" ]; then REPO_NAME="${REPO_NAME:-$(basename "$PWD")}" elif [ -d "$PROJECT_ROOT/.git" ]; then cd "$PROJECT_ROOT" REPO_NAME="${REPO_NAME:-$(basename "$PWD")}" else echo "Run from a git repo root (e.g. ~/projects/dbis_core), or set REPO_NAME and run from repo root." exit 1 fi if [ -z "${GITEA_TOKEN:-}" ]; then echo "Set GITEA_TOKEN to push via HTTPS (e.g. from Gitea Settings → Applications)." exit 1 fi if ! git remote get-url gitea &>/dev/null; then git remote add gitea "https://gitea.d-bis.org/${GITEA_ORG}/${REPO_NAME}.git" fi # Push using token for auth (URL embeds token for this push only) BRANCH=$(git branch --show-current) git push "https://${GITEA_TOKEN}@gitea.d-bis.org/${GITEA_ORG}/${REPO_NAME}.git" "$BRANCH" --set-upstream echo "Pushed $REPO_NAME (branch $BRANCH) to gitea."