diff options
Diffstat (limited to 'mac/.local/bin/gitopenbranch')
| -rwxr-xr-x | mac/.local/bin/gitopenbranch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/mac/.local/bin/gitopenbranch b/mac/.local/bin/gitopenbranch new file mode 100755 index 0000000..56c8d12 --- /dev/null +++ b/mac/.local/bin/gitopenbranch @@ -0,0 +1,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 |
