shithub: git9

ref: a24870e98c772b11ea24b64ee2452cc349c5aee6
dir: /init/

View raw version
#!/bin/rc -e
rfork ne
. /sys/lib/git/common.rc

usage='
	git/init [-b] [-u upstream] name
		-b        init bare repository
		-u        set remote "origin" to upstream
'

sub='/.git'
upstream=()
while(~ $1 -* && ! ~ $1 --){
	switch($1){
	case -b
		sub=''
	case -u
		upstream=$2
		shift
	case *
		usage
	}
	shift
}
if(~ $1 --)
	shift

if (~ $#* 0)
	dir=.
if not if(~ $#* 1)
	dir=$1
if not
	usage

if(test -e $dir$sub)
	die $dir$sub already exists

mkdir -p $dir$sub
dircp /sys/lib/git/template $dir/$sub
if(! ~ $#upstream 0){
	echo '[remote "origin"]' >> $dir/$sub/config
	echo '	url='$upstream >> $dir/$sub/config
}
echo '[branch "master"]' >> $dir/$sub/config
echo '	remote = origin' >> $dir/$sub/config
echo '	merge = refs/heads/master'  >> $dir/$sub/config
mkdir -p $dir/$sub/refs/heads
mkdir -p $dir/$sub/refs/remotes