Skip to content
Snippets Groups Projects
Commit d6910eed authored by Richard Hartmann's avatar Richard Hartmann
Browse files

Merge branch 'which'

parents 33de26d2 77afd689
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,8 @@ vcsh(1) - manage config files in $HOME via fake bare git repositories
`vcsh` setup <repo>
`vcsh` which <substring>
`vcsh` write-gitignore <repo>
`vcsh` <repo> <gitcommand>
......@@ -98,6 +100,9 @@ an interactive user.
* setup:
Set up repository with recommended settings.
* which <substring>:
Find <substring> in name of any tracked file.
* write-gitignore:
Write .gitignore.d/<repo> via git ls-files.
......
......@@ -35,6 +35,7 @@ help() {
run <repo> \\
<command> Use this repository
setup Set up repository with recommended settings
which <substring> Find substring in name of any tracked file
write-gitignore \\
<repo> Write .gitignore.d/<repo> via git ls-files
......@@ -183,6 +184,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 -q "$VCSH_COMMAND_PARAMETER" && 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 +234,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' ] ||
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment