48 lines · 745 B · Text
RawDownload
#!/bin/rc -erfork ne fn usage {	echo usage: $0 '[-r] file ...	-r:	remove instead of adding' >[1=2]	exit usage} add='tracked'del='removed'while(~ $1 -* && ! ~ $1 --){	switch($1){	case -r		add='removed'		del='tracked'	case *		usage	}	shift}if(~ $1 --)	shift dir=`{pwd}base=`{git/conf -r}x=$statusif(! ~ $x ''){	echo git/conf: $x `{pwd} >[1=2]	exit $x} cd $baserel=`{sed 's@^'$base'/*@@' <{echo $dir}}if(~ $#rel 0)	rel=''for(f in $*){	if(! test -f $base/$rel/$f){		echo 'could not add '$base/$rel/$f': does not exist' >[1=2]		exit 'nofile'	}	addpath=.git/index9/$add/$rel/$f	delpath=.git/index9/$del/$rel/$f	mkdir -p `{basename -d $addpath}	mkdir -p `{basename -d $delpath}	touch $addpath	rm -f $delpath}