(List (= scope= flags=0 words=[] bindings=[('about', {[DQ [LIT_CHARS "Given a grep expression, creates a graph of occurrences of that\n"][LIT_CHARS "expression in the recent history of the tree.\n"][LIT_CHARS "\n"][LIT_CHARS "Prerequisites: git and GNU R (apt-get install r-base).\n"]]})]) (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (= scope= flags=0 words=[] bindings=[('target', {[DQ [VarSub 1]]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[VarSub target]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " "]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub about]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('datafile', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -t]} {[LIT_CHARS tmp.XXXXXXXXXX]})]})]) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "rm -f "][VarSub datafile]]} {[LIT_CHARS EXIT]}) (Com {[LIT_CHARS echo]} {[SQ ]} < (FilenameRedirectNode filename={[VarSub datafile]} "> 1), > ) (For ago [{[LIT_LBRACE "{"] [LIT_CHARS 90..0] [LIT_RBRACE "}"]}]) (List (= scope= flags=0 words=[] bindings=[('commit', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS -1]} {[LIT_CHARS --until] [LIT_OTHER "="] [DQ [VarSub ago][LIT_CHARS " days ago"]]} {[LIT_CHARS origin/trunk]})]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS -q]} {[LIT_CHARS -f]} {[VarSub commit]}) (= scope= flags=0 words=[] bindings=[('count', {[ComSub (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS grep]} {[LIT_CHARS -E]} {[DQ [VarSub target]]} {[LIT_CHARS --]} {[SQ ]} {[SQ ]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -l]}) )]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS -][VarSub ago][LIT_CHARS " "][VarSub count]]} < (FilenameRedirectNode filename={[VarSub datafile]} >"> 1), > ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[SQ ]}) ) ) (Com {[LIT_CHARS R]} {[LIT_CHARS CMD]} {[LIT_CHARS BATCH]} {[ComSub (Com redirects=[(HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "data = read.delim("][RIGHT_D_QUOTE "\""][VarSub datafile][RIGHT_D_QUOTE "\""][LIT_CHARS ", sep=' ')\n"][LIT_CHARS "png(width=600, height=300)\n"][LIT_CHARS "plot(count ~ ago, type="][RIGHT_D_QUOTE "\""][LIT_CHARS l][RIGHT_D_QUOTE "\""][LIT_CHARS ", main="][RIGHT_D_QUOTE "\""][VarSub target][RIGHT_D_QUOTE "\""][LIT_CHARS ", xlab='days ago', data=data)\n"]]} 0)]{[LIT_CHARS cat]})]} {[LIT_CHARS /dev/null]}) (Com {[LIT_CHARS echo]} {[LIT_CHARS done.]}) )