shithub: git9

ref: a08453bf28d8178919b62d01b73e56c209f5b4d1
dir: /diff/

View raw version
#!/bin/rc
rfork ne
. /bin/git/common.rc

usage='
	git/diff [-b branch] [file ...]
		-b        diff relative to branch "branch" 
'

if(! cd `{git/conf -r}){
	echo 'not a git repository' >[1=2]
	exit notgit
}
git/fs

while(~ $1 -* && ! ~ $1 --){
	switch($1){
	case -b; branch=`{git/query $2}; shift
	case *; usage
	}
	shift
}
if(~ $1 --) shift

if(~ $#branch 0)
	branch=`{git/branch}

if(~ $#* 0)
	dirty=`{git/walk -cfMAR}
if not
	dirty=`{git/walk -cfMAR $*}

for(f in $dirty){
	orig=/mnt/git/branch/$branch/tree/$f
	if(! test -f $orig)
		orig=/dev/null
	if(! test -f $f)
		f=/dev/null
	ape/diff -up $orig $f
}