#!/bin/rc
rfork en
. /sys/lib/git/common.rc
gitup
flagfmt='c query' args='file ...'
if (! ifs=() eval `{aux/getflags $*} || ~ $#* 0)
exec aux/usage
query=$flagc
if(~ $#query 0)
query=HEAD
commit=`{git/query -p $query}
ifs=$nl {
files=`{cleanname -d $gitrel $* | drop $gitroot}
walked=`{git/walk -c -fRM -b $query $files}
}
for(f in $walked){
mkdir -p `{basename -d $f}
cp -x -- $commit/tree/$f $f
touch -c $f
git/add $f
}
exit ''
|