X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/1588d3349f76052c29b9767e14ef74b8f672e8be..da296ac12ebac1ec10c3855fe62dac752cc5ff10:/vcsh?ds=sidebyside diff --git a/vcsh b/vcsh index eb852a0..38c1e0d 100755 --- a/vcsh +++ b/vcsh @@ -1,6 +1,6 @@ #!/bin/sh -[ "$VCSH_DEBUG" -gt 0 ] && set -x +[ "$VCSH_DEBUG" = '1' ] && set -x SELF=$(basename $0) @@ -20,33 +20,33 @@ done VCSH_BASE="$XDG_CONFIG_HOME/vcsh/repo.d" debug() { - [ -n "$VCSH_DEBUG" ] && echo "$SELF: debug: $1" + [ "$VCSH_DEBUG" = '1' ] && echo "$SELF: debug: $1" } verbose() { - if [ -n "$VCSH_DEBUG" ] || [ -n "$VCSH_VERBOSE" ]; then echo "$SELF: verbose: $1"; fi + if [ "$VCSH_DEBUG" = '1' ] || [ "$VCSH_VERBOSE" = '1' ]; then echo "$SELF: verbose: $1"; fi } +# use Use this repository help() { echo "usage: $SELF - help Display this help + help Display this help - list List all repos + list List all repos - use Use this repository - run - Use this repository + run \\ + Use this repository - init Initialize a new repository - clone - [] Clone from an existing repository + init Initialize a new repository + clone \\ + [] Clone from an existing repository - exit Exit vcsh mode" >&2 + exit Exit vcsh mode" >&2 } use() { - verbose "use() start" + verbose "use() begin" REPO_NAME="$1" GIT_DIR="$VCSH_BASE/$REPO_NAME.git" @@ -58,11 +58,11 @@ use() { export GIT_DIR export GIT_WORK_TREE="$(git config --get core.worktree)" export VCSH_DIRECTORY="$REPO_NAME" - verbose "use() stop" + verbose "use() end" } init() { - verbose "init() start" + verbose "init() begin" [ -e "$GIT_DIR" ] && echo "$SELF: fatal: $GIT_DIR exists" && return 21 @@ -74,7 +74,7 @@ init() { cd $GIT_WORK_TREE git init git config core.worktree $GIT_WORK_TREE - verbose "init() stop" + verbose "init() end" } leave() { @@ -89,43 +89,43 @@ if [ "$1" = 'help' ] || [ "$#" -eq 0 ]; then exit $? elif [ "$1" = 'list' ]; then - verbose "list start" + verbose "list begin" for i in $VCSH_BASE/*.git; do echo $(basename $i .git) done - verbose "list stop" + verbose "list end" exit 0 elif [ "$1" = 'run' ]; then - verbose "run start" + verbose "run begin" use $2 shift 2 "$@" leave - verbose "run start" + verbose "run end" exit 0 -elif [ "$1" = 'use' ]; then - verbose "use start" - if [ -n "$ZSH_VERSION" ]; then - if [ -o NO_IGNORE_EOF ]; then - export VCSH_NO_IGNORE_EOF=1 - setopt IGNORE_EOF - fi - vcsh_exit() { - vcsh exit; - zle reset-prompt; - } - zle -N vcsh_exit - bindkey '^d' 'vcsh_exit' - fi - use $2 - [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1 - verbose "use stop" - exit 0 +#elif [ "$1" = 'use' ]; then +# verbose "use begin" +# if [ -n "$ZSH_VERSION" ]; then +# if [ -o NO_IGNORE_EOF ]; then +# export VCSH_NO_IGNORE_EOF=1 +# setopt IGNORE_EOF +# fi +# vcsh_exit() { +# vcsh exit; +# zle reset-prompt; +# } +# zle -N vcsh_exit +# bindkey '^d' 'vcsh_exit' +# fi +# use $2 +# [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1 +# verbose "use end" +# exit 0 elif [ "$1" = 'clone' ]; then - verbose "clone start" + verbose "clone begin" GIT_REMOTE="$2" REPO_NAME="$3" [ -z "$REPO_NAME" ] && REPO_NAME=$(basename $GIT_REMOTE .git) @@ -142,30 +142,31 @@ elif [ "$1" = 'clone' ]; then echo "$SELF: error: $object exists." && VCSH_CONFLICT=1; done - [ -n "$VCSH_CONFLICT" ] && + [ "$VCSH_CONFLICT" = '1' ] && echo "$SELF: fatal: will stop after fetching and not try to merge!\n" && exit 3 git merge origin/master - vcsh use $REPO_NAME +# vcsh use $REPO_NAME verbose "clone end" elif [ "$1" = 'init' ]; then - verbose "init start" + verbose "init begin" + [ -z $2 ] && help; return 0 export REPO_NAME="$2" export GIT_DIR="$VCSH_BASE/$REPO_NAME.git" init - vcsh use $REPO_NAME - verbose "init stop" +# vcsh use $REPO_NAME + verbose "init end" elif [ "$1" = 'exit' ]; then - verbose "exit start" - if [ -n "$ZSH_VERSION" ] && [ -n "$VCSH_NO_IGNORE_EOF" ]; then + verbose "exit begin" + if [ -n "$ZSH_VERSION" ] && [ "$VCSH_NO_IGNORE_EOF" = '1' ]; then unset VCSH_NO_IGNORE_EOF setopt NO_IGNORE_EOF fi leave [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1 - verbose "exit stop" + verbose "exit end" exit 0 else