#!/bin/sh if [ "$SVN_LIB" ]; then return else SVN_LIB=1 fi # Libraries used, import_lib must be in path . $(which import_lib.sh) # Constants NOT_IN_SVN="?" ADDED="A" MODIFIED="M" REMOVED="D" get_svn_status() { if [ "$1" ]; then dir="$1" else dir=$(pwd) fi svn status $dir | while read -a l; do last=$(( ${#l[@]} - 1 )) echo ${l[last]}, ${l[0]} done } get_files_by_status() { statuscode="$1" ; shift files=$(get_svn_status "$*" | grep ", "$statuscode | cut -d',' -f1) for f in $files; do echo $f; done } get_modified_files() { get_files_by_status $MODIFIED "$*" } get_added_files() { get_files_by_status $ADDED "$*" } get_nonversioned_files() { get_files_by_status $NOT_IN_SVN "$*" } get_removed_files() { get_files_by_status $REMOVED "$*" } if [ -z "$IMPORTING" ]; then main() { echo "Modified: " get_modified_files "$*" echo "Added: " get_added_files "$*" echo "Unversioned: " get_nonversioned_files "$*" echo "Removed: " get_removed_files "$*" } main $* fi