ref: e026625830c18a358a485d7c34002d3f853cac55
dir: /task/
#!/bin/rc -e rfork ne fn editmsg{ if(! test -s $msgfile.tmp){ >$msgfile.tmp { echo -n '# tag:' $tag if(! ~ $#before 0) echo -n ' before:' $before if(! ~ $#after 0) echo -n ' after:' $after echo '' echo $data } edit=1 } if(~ $#editor 0) editor=hold $editor $msgfile.tmp } fn gettag{ files=`{ls .pro/task/} if(! ~ $#change 0) tag=$change if not tag=$#files } fn finish{ cp $msgfile.tmp .pro/task/$tag # TODO: . common.rc to set $project, as it's useful for our outputs #echo '$project:$tag' } fn sigexit{ if(! ~ $#msgfile 0) rm -f $msgfile if(! ~ $#msgfile.tmp 0) rm -f $msgfile.tmp } flagfmt='c:change change, a:after after, b:before before, e:edit'; args='[msg ...]' eval `''{aux/getflags $*} || exec aux/usage msgfile=/tmp/pro-msg.$pid if(! ~ $#* 0) data=`{echo $*} if(! ~ $#change 0 ) if(test -s .pro/task/$change){ cat .pro/task/$change > $msgfile.tmp if(! ~ $#data 0) echo $data >> $msgfile.tmp } @{ flag e + gettag editmsg finish } || echo 'could not write task:' $status >[1=2] exit ''