--- /dev/null
+#!/bin/bash
+
+print_usage()
+{
+ echo "$(basename $0) -- log for version control (svn or git)."
+ echo "Usage: $(basename $0) [OPTIONS...]"
+}
+
+if [ "x${1}" = "x--help" ]; then
+ print_usage
+ exit 1
+fi
+
+SVN_LOG_REV_INFO_COLOR=$(echo -e '\033[1;31m') # Red
+SVN_LOG_SEPARATION_COLOR=$(echo -e '\033[1;32m') # Green
+NORMAL=$(echo -e '\033[0m')
+
+if git diff 1> /dev/null 2>&1; then
+ git log "$@"
+elif svn diff 1> /dev/null 2>&1; then
+ # Colore les lignes --------- en vert
+ # Colore en rouge les infos de la révision
+ svn log "$@" | sed -e "s/^-\+$/${SVN_LOG_SEPARATION_COLOR}\0${NORMAL}/" \
+ -e "s/^r[0-9]\+.\+$/${SVN_LOG_REV_INFO_COLOR}\0${NORMAL}/" | less -RFX
+else
+ echo "Not a GIT or Subversion repository"
+ exit 1
+fi
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 svn diff 1> /dev/null 2>&1; then
- svn status "$@"
+ 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}/"
else
echo "Not a GIT or Subversion repository"
exit 1