ref: b4721715066c1a28d0ef2b29b97652316959c101
dir: /diff/
#!/bin/rc
rfork ne
. /sys/lib/git/common.rc
usage='
git/diff [-b branch] [file ...]
-b diff relative to branch "branch"
'
gitup
files=()
branch=()
summarize=()
while(~ $1 -* && ! ~ $1 --){
switch($1){
case -b; branch=`{git/query $2}; shift
case -s; summarize=1
case *; usage
}
shift
}
if(~ $1 --)
shift
if(! ~ $#* 0)
files=`{cleanname $gitrel/$*}
if(~ $#branch 0)
branch=`{git/branch}
if(~ $summarize 1){
git/walk -fMAR $files
exit
}
for(f in `{git/walk -cfMAR $files}){
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
}