summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/common/gt24
-rwxr-xr-xbin/common/gt-st8
2 files changed, 16 insertions, 16 deletions
diff --git a/bin/common/gt b/bin/common/gt
index 48321af..477adfc 100755
--- a/bin/common/gt
+++ b/bin/common/gt
@@ -6,6 +6,7 @@
# - git
# - $EDITOR: -e
# - parallel: optional, if installed will run the commands on all repos with parallel
+# - gt-[cmd,st,sync]
repos=$HOME/sync/share/git-track.txt
# prevent file not found errors
@@ -36,17 +37,6 @@ fetch() {
done
}
-sync_status() {
- if [ "$parallel" ]; then
- parallel --colsep ' ' gt-sync {1} {2} <"$repos"
- else
- IFS=' '
- while read -r repo remote_url; do
- gt-sync "$repo" "$remote_url"
- done <"$repos"
- fi
-}
-
# no options
if [ -z "$1" ]; then
help
@@ -55,7 +45,7 @@ fi
[ "$(wc -l <"$repos")" -gt 0 ] || exit 0
-while getopts ":a:c:f:lsheuy" opt; do
+while getopts ":a:c:f:lsheu" opt; do
case "$opt" in
a)
if ! cd "$OPTARG" 2>/dev/null; then
@@ -84,12 +74,18 @@ while getopts ":a:c:f:lsheuy" opt; do
fi
;;
s) cut -f 1 -d ' ' "$repos" | xargs -I{} gt-st {} ;;
- y) sync_status ;;
l) cut -f 1 -d ' ' "$repos" ;;
e) $EDITOR "$repos" ;;
f) repos="$OPTARG" ;;
u)
- sync_status | awk -F ':' '/x$/ {print $1}' |
+ if [ "$parallel" ]; then
+ parallel --colsep ' ' gt-sync {1} {2} <"$repos"
+ else
+ IFS=' '
+ while read -r repo remote_url; do
+ gt-sync "$repo" "$remote_url"
+ done <"$repos"
+ fi | awk -F ':' '/x$/ {print $1}' |
if [ "$parallel" ]; then
parallel gt-cmd {} pull
else
diff --git a/bin/common/gt-st b/bin/common/gt-st
index 98184b9..43443cd 100755
--- a/bin/common/gt-st
+++ b/bin/common/gt-st
@@ -14,11 +14,15 @@ if [ ! -d "$repo" ]; then
fi
# replace line with status
-status="$(git -C "$repo" status --porcelain 2>/dev/null |
+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"
+if [ "$status" ] || [ "$remote" ]; then
+ printf '%s: \033[0;31m%s %s\033[0m\n' "$repo_pretty" "$status" "$remote"
+else
+ printf '%s\n' "$repo_pretty"
+fi