]> git.plutz.net Git - busy/blob - templates/Subversion.page
write messages for fatal errors to debug channel
[busy] / templates / Subversion.page
1 #!/bin/zsh
2
3 cat <<SVNEND
4   <div id="LEFT">
5     <h1>Path:</h1>
6     <a href='?p=Subversion&amp;i=/&amp;r=$rev'>[root]</a> 
7     $(tmp="$url"
8     until [ -z "$tmp" -o "$tmp" = '//' -o "$tmp" = './' ]; do
9       echo "<a href='?p=Subversion&amp;i=$tmp&amp;r=$rev'>/$(basename "$tmp")</a> "
10       tmp="$(dirname "$tmp")/"
11     done |tac)
12     <hr>
13     <h1>Revisions:</h1>
14     $(for i in {1.."$lastrev"}; do
15       echo "<a href='?p=Subversion&amp;i=$url&amp;r=$i'>$i</a>"
16     done)
17   </div>
18
19   <div id="RIGHT">
20     <h1>Changelog:</h1><hr>
21     $(svn log $(egrep -q '^(.*/|)$' <<<"$url" && echo '') "${baseuri}/${url}" |\
22       sed -rn '2,${s:^-+$:</div>:g;
23       s:^r([0-9]+) \| ([a-zA-Z0-9]+) \| ([0-9: -]+) .+$:<div class="changelog"><h2>Revision \1 by \2<br>at \3</h2>:g;p}')
24   </div>
25
26   <div id="MAIN">
27   <div class='wikitext'><h1>$(basename "$url"), Revision "$rev":</h1>
28   $(if (egrep -q '^(.*/|)$' <<<"$url"); then #are we showing a directory
29     svn ls -r "$rev" "${baseuri}/${url}" |sed -r "s:^.*$:<a href='?p=Subversion\&amp;i=$url/&\&amp;r=$rev'>&</a><br>:g"
30     echo '</div>'
31   else #or are we showing a file
32     lang=$(source-highlight --lang-list |cut -d\  -f1 |grep -x "$(sed 's:.*\.::g' <<<"$url")" || echo sh)
33     grep -q '\.' <<<"$url" || lang=txt
34     svn cat -r "$rev" "${baseuri}/${url}" |source-highlight -s "$lang"
35   fi)
36   </div></div>
37 SVNEND