From e6fb0c1bd2ef0368474c96b0e1dcc04a3260c10a Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Sun, 27 May 2018 19:59:00 +1200 Subject: ZSH: Check dotfiles repo for changes on login Just checks for difference in hash for 'master' head Signed-off-by: Mike Beattie --- .zlogin | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.zlogin b/.zlogin index 0a882e0..c398626 100644 --- a/.zlogin +++ b/.zlogin @@ -3,6 +3,17 @@ if [ -f $HOME/.zlogin.$(hostname) ]; then source $HOME/.zlogin.$(hostname) fi +# check to see if git repository has been updated +function () { + if command -v git >|/dev/null && git -C $HOME rev-parse >|/dev/null 2>&1 ; then + local local_head="$(git -C $HOME show-ref --hash --heads master)" + local origin_head="$(GIT_SSH_COMMAND="ssh -o BatchMode=yes -o ConnectTimeout=1" git -C $HOME ls-remote --heads origin master 2>|/dev/null | cut -f1)" + if [ "$local_head" != "$origin_head" ];then + print "$fg[blue]--= ${fg[red]}git repository differs from origin$fg[blue] =--$terminfo[sgr0]" + fi + fi +} + # set terminal to clear after logout. trap clear EXIT -- cgit v1.2.3