X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/d8a329b4dace1bdbdcf41291d835ac6699d740ce..8f7c98c6ae6fcfdf74dc6c305f2285ae55f320e1:/vcsh?ds=sidebyside diff --git a/vcsh b/vcsh index 68e9120..eaa8612 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,10 +202,13 @@ 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' elif [ "$1" = 'list' ]; then export VCSH_COMMAND="$1" elif [ -n "$1" ]; then