#!/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 '
'