summaryrefslogtreecommitdiff
path: root/.local/bin/development/gitweb
diff options
context:
space:
mode:
authorVikas Kushwaha <dev@vikas.rocks>2025-06-01 20:48:49 +0530
committerVikas Kushwaha <dev@vikas.rocks>2025-06-01 20:48:49 +0530
commit132ec769505533c24bd06f6604913fdc1db6fe35 (patch)
treec21a0f93fad8f12b3901ea21a2024a9df2e1622b /.local/bin/development/gitweb
parent0d397e4d3d204a1e016c0863815f0b5dc516c46b (diff)
git updates
Diffstat (limited to '.local/bin/development/gitweb')
-rwxr-xr-x.local/bin/development/gitweb18
1 files changed, 18 insertions, 0 deletions
diff --git a/.local/bin/development/gitweb b/.local/bin/development/gitweb
new file mode 100755
index 0000000..881c81c
--- /dev/null
+++ b/.local/bin/development/gitweb
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# git-web: open the url of current git repositary in a web browser.
+# USAGE: gitw [remote]
+# 'remote' is set to origin if not provided.
+
+err() { printf "gitw: %s\n" "$@" >&2; exit 1; }
+
+git rev-parse --is-inside-work-tree >/dev/null || exit
+
+remote="${1:-origin}"
+url="$(git remote get-url "$remote" |
+ sed "s|^git@\(\S\+\):|https://\1/|")" || exit
+
+[ -z "$url" ] || [ "$remote" = "$url" ] &&
+ err "remote has no url: $remote"
+
+xdg-open "$url"