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