X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/dce1efd2211e5784279b9f35b7594f6a9c0c44dc..f47f496110c9cad7ed628f28a02c73303cc521a3:/.zsh/func/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