-# use $REPO_NAME || return 1
- verbose "clone end"
-
-elif [ "$1" = 'init' ]; then
- verbose "init begin"
- [ -z $2 ] && help && echo && echo "$SELF $1: error: please specify repository to work on" && return 0
- export REPO_NAME="$2"
- export GIT_DIR="$VCSH_BASE/$REPO_NAME.git"
- init
-# use "$REPO_NAME" || return 1
- verbose "init end"
-
-#elif [ "$1" = 'exit' ]; 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 end"
-# exit 0
-
-elif [ "$1" = 'seed-gitignore' ]; then
- verbose "seed-gitignore begin"
- [ -z $2 ] && help && echo && echo "$SELF $1: error: please specify repository to work on" && return 0
- use $2 || return 1
- # Switching directory as this has to be executed from $HOME to be of any use.
- # Going back into old directory at the end in case `vcsh use` is reactivated.
- old_dir="$PWD"
- cd "$HOME"
- git config core.excludesfile ".gitignore.d/$REPO_NAME"
- gitignores=$(for file in $(git ls-files); do
- while true; do
- echo $file; new="${file%/*}"
- [ "$file" = "$new" ] && break
- file="$new"
- done;
- done | sort -u | sed 's/^/!/')
- tempfile=$(mktemp) ||
- (echo "$SELF: fatal: could not create tempfile" && exit 1)
- echo '*' > "$tempfile"
- for gitignore in $gitignores; do
- echo "$gitignore" >> "$tempfile"
- done
- diff -N "$tempfile" "$HOME/.gitignore.d/$2" > /dev/null &&
- rm -f "$tempfile" &&
- return
- if [ -e "$HOME/.gitignore.d/$2" ]; then
- echo "$SELF: info: $HOME/.gitignore.d/$2 differs from new data, moving it to $HOME/.gitignore.d/$2.bak"
- mv -f "$HOME/.gitignore.d/$2" "$HOME/.gitignore.d/$2.bak" ||
- (echo "$SELF: fatal: could not move $HOME/.gitignore.d/$2 to $HOME/.gitignore.d/$2.bak" && exit 1)
- fi
- mv -f "$tempfile" "$HOME/.gitignore.d/$2" ||
- (echo "$SELF: fatal: could not move $tempfile to $HOME/.gitignore.d/$2" && exit 1)
- cd "$old_dir"
- verbose "seed-gitignore end"
-
-elif [ "$1" = 'delete' ]; then
- verbose "delete begin"
- REPO_NAME=$2
- [ -z $REPO_NAME ] && help && echo && echo "$SELF $1: error: please specify repository to work on" && return 0
- old_dir="$PWD"
- cd "$HOME"
- use $REPO_NAME || return 1
- echo "$SELF: info: This operation WILL DETROY DATA!"