#!/usr/bin/env bash
set -euo pipefail
if [[ $# -lt 2 ]]; then echo "Usage: git-show-version <ref> <path/to/file> [repo_path]" >&2; exit 1; fi
REF="$1"; FILE_PATH="$2"; REPO_PATH="${3:-.}"
if [[ ! -d "$REPO_PATH" ]]; then echo "Error: directory not found: $REPO_PATH" >&2; exit 1; fi
cd "$REPO_PATH"
if ! git rev-parse --verify --quiet "$REF" >/dev/null 2>&1; then echo "Error: ref not found: $REF" >&2; exit 1; fi
git show "$REF:$FILE_PATH"
