ref: c5c45f287d855c721e03018086a17e5bf2fc1dd2
dir: /diff/
#!/bin/rc
rfork ne
. /sys/lib/git/common.rc
usage='
git/diff [-c branch] [-s ] [file ...]
'
gitup
files=()
branch=()
summarize=()
while(~ $1 -* && ! ~ $1 --){
switch($1){
case -c; branch=`{git/query -p $2}; shift
case -s; summarize=1
case *; usage
}
shift
}
if(~ $1 --)
shift
if(! ~ $#* 0)
files=`{cleanname $gitrel/$*}
if(~ $#branch 0)
branch=`{git/query -p HEAD}
if(~ $summarize 1){
git/walk -fMAR $files
exit
}
for(f in `{git/walk -c $files}){
orig=$branch/tree/$f
if(! test -f $orig)
orig=/dev/null
if(! test -f $f)
f=/dev/null
ape/diff -up $orig $f
}