#!/bin/bash VCS_SUPPORTED="GIT, Subversion or Mercurial" print_usage() { echo "$(basename $0) -- diff for version control (${VCS_SUPPORTED}) with color output." echo "Usage: $(basename $0) [OPTIONS...]" } if [ "x${1}" = "x--help" ]; then print_usage exit 1 fi if git diff 1> /dev/null 2>&1; then git diff "$@" elif svn diff 1> /dev/null 2>&1; then svn diff --diff-cmd colordiff -x "-u -w -p" "$@" | less -RFX elif hg status 1> /dev/null 2>&1; then hg diff "$@" else echo "Not a ${VCS_SUPPORTED} repository" exit 1 fi