X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/e003251cbc13ebebe944049f45a5c344c2d5b603..1b0e8b565d1037d64c2554b36f552f217d4fd93e:/vcsh?ds=inline diff --git a/vcsh b/vcsh index dd3d91e..c1b4874 100755 --- a/vcsh +++ b/vcsh @@ -1,30 +1,30 @@ #!/bin/sh -[ "$VCSH_DEBUG" = '1' ] && set -x +[ -n "$VCSH_DEBUG" ] && set -x SELF=$(basename $0) [ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config" -for check_directory in "$XDG_CONFIG_HOME" "$XDG_CONFIG_HOME/vcsh" "$XDG_CONFIG_HOME/vcsh/repo.d" +[ -z "$VCSH_BASE" ] && VCSH_BASE="$XDG_CONFIG_HOME/vcsh/repo.d" +for check_directory in "$VCSH_BASE" do if [ ! -d "$check_directory" ]; then if [ -e "$check_directory" ]; then echo "$SELF: error: $check_directory exists but is not a directory" >&2 exit 2 else - mkdir "$check_directory" || (echo "$SELF: error: could not create $check_directory" >&2; exit 2) + mkdir -p "$check_directory" || (echo "$SELF: error: could not create $check_directory" >&2; exit 2) fi fi done -VCSH_BASE="$XDG_CONFIG_HOME/vcsh/repo.d" debug() { - [ "$VCSH_DEBUG" = '1' ] && echo "$SELF: debug: $1" + [ -n "$VCSH_DEBUG" ] && echo "$SELF: debug: $1" } verbose() { - if [ "$VCSH_DEBUG" = '1' ] || [ "$VCSH_VERBOSE" = '1' ]; then echo "$SELF: verbose: $1"; fi + if [ -n "$VCSH_DEBUG" ] || [ -n "$VCSH_VERBOSE" ]; then echo "$SELF: verbose: $1"; fi } # use Use this repository @@ -144,6 +144,7 @@ elif [ "$1" = 'clone' ]; then done [ "$VCSH_CONFLICT" = '1' ] && echo "$SELF: fatal: will stop after fetching and not try to merge!\n" && + echo " Once this situation has been resolved, run 'vcsh run git pull' to finish cloning.\n" && exit 3 git merge origin/master # vcsh use $REPO_NAME @@ -151,7 +152,7 @@ elif [ "$1" = 'clone' ]; then elif [ "$1" = 'init' ]; then verbose "init begin" - [ -z $2 ] && help; return 0 + [ -z $2 ] && help && return 0 export REPO_NAME="$2" export GIT_DIR="$VCSH_BASE/$REPO_NAME.git" init