X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage2%2Fhv-utilities%2Fvs;h=6719db17394048ed8a80736870e2d179e52b9f3f;hb=79d4bc8fa7a701164b00fb3f1f5d04e916041fd4;hp=e34a78067a6abcdf7fa4be69b240ebfbf2cbd15c;hpb=433520408e137042272ce4311ba9bd54d787ec20;p=hvlinux.git diff --git a/stage2/hv-utilities/vs b/stage2/hv-utilities/vs index e34a780..6719db1 100755 --- a/stage2/hv-utilities/vs +++ b/stage2/hv-utilities/vs @@ -1,8 +1,10 @@ #!/bin/bash +VCS_SUPPORTED="GIT, Subversion or Mercurial" + print_usage() { - echo "$(basename $0) -- status for version control (svn or git)." + echo "$(basename $0) -- status for version control (${VCS_SUPPORTED})." echo "Usage: $(basename $0) [OPTIONS...]" } @@ -11,11 +13,25 @@ if [ "x${1}" = "x--help" ]; then exit 1 fi +SVN_ST_UNKNOWN_COLOR=$(echo -e '\033[1;34m') # Blue +SVN_ST_DELETED_COLOR=$(echo -e '\033[0;31m') # Red +SVN_ST_MISSING_COLOR=$(echo -e '\033[1;31m') # Red +SVN_ST_ADDED_COLOR=$(echo -e '\033[1;32m') # Green +SVN_ST_MODIFIED_COLOR=$(echo -e '\033[1;33m') # Yellow +NORMAL=$(echo -e '\033[0m') + if git diff 1> /dev/null 2>&1; then git status "$@" -elif [ -d .svn ]; then - svn status "$@" +elif svn diff 1> /dev/null 2>&1; then + svn status --ignore-externals "$@" | grep -v "^X" | \ + sed -e "s/^\?.*$/${SVN_ST_UNKNOWN_COLOR}\0${NORMAL}/" \ + -e "s/^!.*$/${SVN_ST_MISSING_COLOR}\0${NORMAL}/" \ + -e "s/^A.*$/${SVN_ST_ADDED_COLOR}\0${NORMAL}/" \ + -e "s/^M.*$/${SVN_ST_MODIFIED_COLOR}\0${NORMAL}/" \ + -e "s/^D.*$/${SVN_ST_DELETED_COLOR}\0${NORMAL}/" +elif hg status 1> /dev/null 2>&1; then + hg status "$@" else - echo "Not a GIT or Subversion repository" + echo "Not a ${VCS_SUPPORTED} repository" exit 1 fi