X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/d8a329b4dace1bdbdcf41291d835ac6699d740ce..488ae02deb358f11eb29a8926afe52f321f58ba1:/vcsh diff --git a/vcsh b/vcsh index 68e9120..d05f269 100755 --- a/vcsh +++ b/vcsh @@ -168,8 +168,7 @@ setup() { git config core.worktree "$GIT_WORK_TREE" git config core.excludesfile ".gitignore.d/$VCSH_REPO_NAME" git config vcsh.vcsh 'true' - touch "$HOME/.gitignore.d/$VCSH_REPO_NAME" || error "could not touch '$HOME/.gitignore.d/$VCSH_REPO_NAME'" - git add "$HOME/.gitignore.d/$VCSH_REPO_NAME" + [ -e "$HOME/.gitignore.d/$VCSH_REPO_NAME" ] && git add -f "$HOME/.gitignore.d/$VCSH_REPO_NAME" } use() { @@ -203,7 +202,11 @@ elif [ "$1" = 'delete' ] || if [ "$VCSH_COMMAND" = 'run' ]; then shift 2 export VCSH_EXTERNAL_COMMAND="$*" - echo $VCSH_REPO_NAME | grep -q '/' && export GIT_DIR=$VCSH_REPO_NAME + # 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" = 'seed-gitignore' ] # [ "$VCSH_COMMAND" = 'seed-gitignore' ] && export VCSH_COMMAND='seed_gitignore'