From: Richard Hartmann Date: Fri, 10 Feb 2012 16:05:49 +0000 (+0100) Subject: Implement `vcsh which` X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/85dfe18fb118fffa4d77c5a2877ad7570d8d0ec3 Implement `vcsh which` --- diff --git a/vcsh b/vcsh index fef3bc8..e8fefbb 100755 --- a/vcsh +++ b/vcsh @@ -183,6 +183,14 @@ use() { export VCSH_DIRECTORY="$VCSH_REPO_NAME" } +which() { + for VCSH_REPO_NAME in $(list); do + for VCSH_FILE in $(get_files); do + echo $VCSH_FILE | grep $VCSH_COMMAND_PARAMETER > /dev/null && echo "$VCSH_REPO_NAME: $VCSH_FILE" + done + done | sort -u +} + write_gitignore() { use cd "$VCSH_BASE" || fatal "could not enter '$VCSH_BASE'" 11 @@ -225,6 +233,11 @@ if [ "$1" = 'clone' ]; then [ -n "$3" ] && VCSH_REPO_NAME="$3" || VCSH_REPO_NAME=$(basename "$GIT_REMOTE" .git) export VCSH_REPO_NAME export GIT_DIR="$VCSH_REPO_D/$VCSH_REPO_NAME.git" +elif [ "$1" = 'which' ]; then + [ -z "$2" ] && fatal "$1: please specify a filename" 1 + [ -n "$3" ] && fatal "$1: too many parameters" 1 + export VCSH_COMMAND="$1" + export VCSH_COMMAND_PARAMETER="$2" elif [ "$1" = 'delete' ] || [ "$1" = 'enter' ] || [ "$1" = 'init' ] ||