#!/bin/rc -e . /sys/lib/shithub/common.rc fn rssitem { puser=$1 prepo=$2 phash=$3 d=`{pwd} guid='http://'$host'/git/'$puser/$prepo/$phash'/commit.html' message=`{htcat $gitfs/object/$phash/msg | sed 1q} description=`''{htcat $gitfs/object/$phash/msg} date=`{date -uf$dfmt `{mtime $gitfs/object/$phash/msg |awk '{print $1}'}} author=`"{sed 's/(.*) <(.*)>/\2 (\1)/g' < $gitfs/object/$phash/author} echo ' '$"guid' '$"date' '$"message' '$"author' '$guid' '$description' ]]> ' cd $d } cd $1 shift rfork ne nl=' ' gituser=$1 repo=$2 refname=$3 dfmt='WW, DD MMM YYYY hh:mm:ss Z' repons $gituser $repo if(! ref=`{resolveref $refname}){ echo 'invalid ref '$refname'' exit } if(test -f $gitfs/$ref/hash) hash=`{cat $gitfs/$ref/hash} if not hash=$ref echo ' '$gituser/$repo' git log http://'$host'/git/'$gituser/$repo/'HEAD/log.html shithub git/log for repository '$gituser/$repo' '`"{date -uf$dfmt}' en-us ' if(! test -d $gitfs/$ref/tree){ echo ' ' exit } cd $gitfs/$ref/tree commithash=`{cat $gitfs/HEAD/hash | sed 1q} count=() while (! ~ $#commithash 0 && ! ~ $#count 10) { count=($count 1) rssitem $gituser $repo $commithash commithash=`{cat $gitfs/object/$commithash/parent | sed 1q} } echo ' '