From: martin f. krafft Date: Sat, 17 May 2008 10:58:08 +0000 (+0100) Subject: add vcsh X-Git-Url: https://git.madduck.net/etc/zsh.git/commitdiff_plain/f47f496110c9cad7ed628f28a02c73303cc521a3?ds=inline add vcsh --- diff --git a/.zsh/func/vcsh b/.zsh/func/vcsh new file mode 100755 index 0000000..0959784 --- /dev/null +++ b/.zsh/func/vcsh @@ -0,0 +1,37 @@ +#!/bin/sh +# +# func/vcsh +# +# set the context for vcs-home operations +# +# Copyright © 1994–2008 martin f. krafft +# Released under the terms of the Artistic Licence 2.0 +# +# Source repository: http://git.madduck.net/v/etc/zsh.git +# + +FGIT_BASE="$HOME/.fgits" + +if [ "${1:---help}" = '--help' ] || [ $# -gt 1 ]; then + echo "usage: ${0%/*} reponame" >&2 + echo "usage: ${0%/*} -l" >&2 + [ "$1" = '--help' ] + exit $? + +elif [ "$1" = '-l' ]; then + for i in $FGIT_BASE/*.git; do + i="${i#$FGIT_BASE/}" + echo "${i%.git}" + done + exit 0 +fi + +if [ ! -d "$FGIT_BASE/${1}.git" ]; then + echo E: no repository found for "$1" >&2 + exit 2 +fi + +export GIT_DIR=$FGIT_BASE/${1}.git +git status + +PS1="{VCSH:$1}$PS1" $SHELL -i