diff options
Diffstat (limited to 'bin/common/gt-sync')
-rwxr-xr-x | bin/common/gt-sync | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/bin/common/gt-sync b/bin/common/gt-sync new file mode 100755 index 0000000..0dc986c --- /dev/null +++ b/bin/common/gt-sync @@ -0,0 +1,21 @@ +#!/bin/sh + +# Print if repo is out of sync or not + +# path to repo +repo="$1" +# remote for repo +remote="$2" +[ "$#" -lt 2 ] && exit 1 + +repo_pretty="$(printf '%s' "$repo" | sed "s@$HOME@~@")" + +ref="$(git -C "$repo" symbolic-ref HEAD)" +local_hash="$(git -C "$repo" rev-parse "$ref")" +remote_hash="$(git ls-remote "$remote" "$ref" | cut -f 1)" + +if [ "$remote_hash" != "$local_hash" ]; then + printf '%s: x\n' "$repo_pretty" +else + printf '%s: o\n' "$repo_pretty" +fi |