summaryrefslogtreecommitdiff
path: root/mac/.local/bin/gitopenbranch
blob: 56c8d1276651c6d42d5f0be80d4ed42e2bad5d99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

if ! command -v gh >/dev/null 2>&1; then
  echo "Error: GitHub CLI (gh) is not installed." >&2
  exit 1
fi

case "$(uname -s)" in
Darwin)
  open_cmd='open'
  ;;
*)
  open_cmd='xdg-open'
  ;;
esac

# Check if inside a git repository
if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
  current_branch=$(git rev-parse --abbrev-ref HEAD)
  gh repo view --branch "$current_branch" --web || $open_cmd "$(gh repo view --branch "$current_branch" --json url -q '.url')"
else
  echo "Not a git repository."
  exit 1
fi