File: xgit.bash

package info (click to toggle)
git-ubuntu 1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,688 kB
  • sloc: python: 13,378; sh: 480; makefile: 2
file content (25 lines) | stat: -rw-r--r-- 598 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
xgit_enable() {
	local top=$(readlink -f "${1:-$PWD}")
	if [ ! -d "$top/git" -o ! -d "$top/gitwd" ]; then
		echo "git/ and gitwd/ must exist" >&2
		return 2
	fi
	export XGIT_TOP="$top"
	export GIT_DIR=$(readlink -f "$top/git")
	export GIT_WORK_TREE=$(readlink -f "$top/gitwd")
	export XGIT_OLD_PS1="$PS1"
	export PS1=$(echo "$PS1"|perl -pe 's/(\s*)$/(xgit \$XGIT_TOP)\1\2/')
}
xgit_disable() {
	unset GIT_DIR GIT_WORK_TREE XGIT_TOP
	[ "$XGIT_OLD_PS1" != "" ] && export PS1="$XGIT_OLD_PS1"
	unset XGIT_OLD_PS1
}

xgit() {
	if [ "$XGIT_TOP" = "" ]; then
		xgit_enable "$1"
	else
		xgit_disable
	fi
}