X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/8f7c98c6ae6fcfdf74dc6c305f2285ae55f320e1..881deb41fb7c5af8c5feedd075c780f3ce94df99:/vcsh?ds=sidebyside diff --git a/vcsh b/vcsh index eaa8612..8ca079a 100755 --- a/vcsh +++ b/vcsh @@ -1,6 +1,6 @@ #!/bin/sh -[ -n "$VCSH_DEBUG" ] && set -x +[ -n "$VCSH_DEBUG" ] && set -vx [ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" [ -z "$VCSH_BASE" ] && VCSH_BASE="$XDG_CONFIG_HOME/vcsh/repo.d" @@ -199,15 +199,7 @@ elif [ "$1" = 'delete' ] || export VCSH_REPO_NAME="$2" export GIT_DIR="$VCSH_BASE/$VCSH_REPO_NAME.git" [ "$VCSH_COMMAND" = 'rename' ] && export GIT_DIR_NEW="$VCSH_BASE/$3.git" - if [ "$VCSH_COMMAND" = 'run' ]; then - shift 2 - export VCSH_EXTERNAL_COMMAND="$*" - # Did we receive a directory instead of a name? Mangle the input to fit normal operation! - if echo $VCSH_REPO_NAME | grep -q '/'; then - export GIT_DIR=$VCSH_REPO_NAME - export VCSH_REPO_NAME=$(basename $VCSH_REPO_NAME .git) - fi - fi + [ "$VCSH_COMMAND" = 'run' ] && shift 2 && export VCSH_EXTERNAL_COMMAND="$*" [ "$VCSH_COMMAND" = 'seed-gitignore' ] elif [ "$1" = 'list' ]; then export VCSH_COMMAND="$1" @@ -223,6 +215,14 @@ else help && exit fi +# Did we receive a directory instead of a name? +# Mangle the input to fit normal operation. +if echo $VCSH_REPO_NAME | grep -q '/'; then + export GIT_DIR=$VCSH_REPO_NAME + export VCSH_REPO_NAME=$(basename $VCSH_REPO_NAME .git) +fi + + for check_directory in "$VCSH_BASE" "$HOME/.gitignore.d" do if [ ! -d "$check_directory" ]; then