#!/bin/bash # pr-view.sh - View pull request details on GitHub or Gitea # Usage: pr-view.sh -n [-r owner/repo] set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/detect-platform.sh" # Parse arguments PR_NUMBER="" REPO_OVERRIDE="" while [[ $# -gt 0 ]]; do case $1 in -n|--number) PR_NUMBER="$2" shift 2 ;; -r|--repo) REPO_OVERRIDE="$2" shift 2 ;; -h|--help) echo "Usage: pr-view.sh -n [-r owner/repo]" echo "" echo "Options:" echo " -n, --number PR number (required)" echo " -r, --repo Repository slug (default: infer from git origin)" echo " -h, --help Show this help" exit 0 ;; *) echo "Unknown option: $1" exit 1 ;; esac done if [[ -z "$PR_NUMBER" ]]; then echo "Error: PR number is required (-n)" exit 1 fi if [[ -n "$REPO_OVERRIDE" ]]; then REPO_INFO="$REPO_OVERRIDE" PLATFORM=$(detect_platform 2>/dev/null || echo gitea) else detect_platform > /dev/null REPO_INFO=$(get_repo_info) fi if [[ -z "$REPO_INFO" || "$REPO_INFO" == error:* ]]; then echo "Error: Could not determine repository from git origin. Run from a repo or pass --repo." >&2 exit 1 fi if [[ "$PLATFORM" == "github" ]]; then gh pr view "$PR_NUMBER" --repo "$REPO_INFO" elif [[ "$PLATFORM" == "gitea" ]]; then tea pr "$PR_NUMBER" --repo "$REPO_INFO" else echo "Error: Unknown platform" exit 1 fi