From 398e69dafa045334469af6164b28054c36194814 Mon Sep 17 00:00:00 2001 From: Penny Leach Date: Tue, 15 Sep 2009 07:47:09 +0200 Subject: [PATCH 1/1] Added my version of the vcsh script --- bin/vcsh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 bin/vcsh diff --git a/bin/vcsh b/bin/vcsh new file mode 100755 index 0000000..731fa8d --- /dev/null +++ b/bin/vcsh @@ -0,0 +1,45 @@ +#!/bin/zsh +# +# 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: git://git.madduck.net/etc/zsh.git +# + +local FGIT_BASE="$HOME/.fgits" + +if [ "${1:---help}" = '--help' ] || [ $# -gt 1 ]; then + echo "usage: ${0##*/} reponame" >&2 + echo "usage: ${0##*/} -l" >&2 + [ "$1" = '--help' ] + return $? + +elif [ "$1" = '-l' ]; then + for i in $FGIT_BASE/*.git; do + i="${i#$FGIT_BASE/}" + echo "${i%.git}" + done + return 0 +fi + +if [ ! -d "$FGIT_BASE/${1}.git" ]; then + echo E: no repository found for "$1" >&2 + return 2 +fi + +old_GIT_DIR="${GIT_DIR:-}" +old_GIT_WORK_TREE="${GIT_WORK_TREE:-}" + +export GIT_DIR="$FGIT_BASE/${1}.git" +export GIT_WORK_TREE="$GIT_DIR/$(git config --get core.worktree)" + +PSEXTRA="%B{${0##*/}:$1}%b" $SHELL -i || : + +GIT_DIR="$old_GIT_DIR" +[ -z "$GIT_DIR" ] && unset GIT_DIR +GIT_WORK_TREE="$old_GIT_WORK_TREE" +[ -z "$GIT_WORK_TREE" ] && unset GIT_WORK_TREE -- 2.39.5