Git: git9

git9 @ 0ee6366d9d661574b73d6a419bf53185ec7b9d8d

nl='
'

fn die{
	>[1=2] echo $0: $*
	exit $"*
}

fn usage{
	>[1=2] echo -n 'usage:' $usage
	exit 'usage'
}

# subst [-g] this [that]
fn subst{
	awk 'BEGIN{
		global = 0
		for(i = 1; ARGV[i] ~ /^-/; i++){
			if(ARGV[i] == "-g")
				global = 1
			ARGC--
		}
		this = ARGV[i++]; ARGC--
		that = ARGV[i++]; ARGC--
	}
	{
		if(global) gsub(this, that)
		else sub(this, that)
		print
	}' $*
}

fn gitup{
	gitroot=`{git/conf -r >[2]/dev/null}
	if(~ $#gitroot 0)
		die 'not a git repository'
	gitrel=`{pwd | subst '^'$"gitroot'/?'}
	if(~ $#gitrel 0)
		gitrel='.'
	cd $gitroot
	startfs=()
	if(! test -e /mnt/git/ctl)
		startfs=true
	if(! grep -s '^repo '$gitroot'$' /mnt/git/ctl >[2]/dev/null)
		startfs=true
	if(~ $#startfs 1)
		git/fs
	if not
		status=''
}