summaryrefslogtreecommitdiff
path: root/bin/common/gt-st
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-07-01 16:07:29 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-07-01 16:07:29 +0200
commit30a898e1040ec91cea1ceeb2180bdcf7265f2407 (patch)
tree027b532b59f44afc2d6bbb598f9f7998cb97f764 /bin/common/gt-st
parent9d91de38af90ee1d4033666d10613eb03f3d747f (diff)
checkpoint
Diffstat (limited to 'bin/common/gt-st')
-rwxr-xr-xbin/common/gt-st24
1 files changed, 24 insertions, 0 deletions
diff --git a/bin/common/gt-st b/bin/common/gt-st
new file mode 100755
index 0000000..98184b9
--- /dev/null
+++ b/bin/common/gt-st
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# Print status of the repo locally
+
+# path to repo
+repo="$1"
+[ "$1" ] || exit 1
+
+repo_pretty="$(printf '%s' "$repo" | sed "s@$HOME@~@")"
+
+if [ ! -d "$repo" ]; then
+ printf '%s missing\n' "$repo_pretty"
+ exit 1
+fi
+
+# replace line with status
+status="$(git -C "$repo" status --porcelain 2>/dev/null |
+ awk '{print $1}' |
+ sort | uniq | tr -s '?' |
+ tr -d '\n')"
+remote="$(git -C "$repo" branch -v 2>/dev/null |
+ sed '/^*/!d;s/ahead/↑/;s/behind/↓/;s/[^↓↑]*//g')"
+
+printf '%s %s %s\n' "$repo_pretty" "$status" "$remote"