2 url="$(sed -rn 's:\+: :g;s:%:\\x:g;s:^(.*&)?i=([^&]+)(&.*)?$:\2:p' <<<"${QUERY_STRING}")"
3 url="$(echo -e "${url}" |sed -rn '1{s:\t: :g;s:\r::g;s:\\:\\\\:g;p}')"
4 rev="$(sed -rn 's:\+: :g;s:%:\\x:g;s:^(.*&)?r=([0-9]+)(&.*)?$:\2:p' <<<"${QUERY_STRING}")"
5 #rev="$(sed -rn '/^(.*&)?r=([0-9]+)(&.*)?$/{s:^(.*&)?r=([0-9]+)(&.*)?$:\2:;s:\+: :g;s:%:\\x:g;p}' <<<"${QUERY_STRING}")"
7 baseuri=$(sed -rn 's:^svnRepo=(.*)$:\1:p' project.meta)
8 lastrev=$(svn info "$baseuri" |sed -rn 's;^Revision: *([0-9]+);\1;p')
9 [ -z "$rev" ] && rev="$lastrev"
14 <a href='?p=Subversion&i=/&r=$rev'>[root]</a>
16 until [ -z "$tmp" -o "$tmp" = // ]; do
17 echo "<a href='?p=Subversion&i=$tmp&r=$rev'>/$(basename "$tmp")</a> "
18 tmp=$(dirname "$tmp")/
20 <hr><!----------------------------------------------->
22 $(for i in {1.."$lastrev"}; do
23 echo "<a href='?p=Subversion&i=$url&r=$i'>$i</a>"
28 <h1>Changelog:</h1><hr>
29 $(svn log $(egrep -q '^(.*/|)$' <<<"$url" && echo '') "${baseuri}/${url}" |\
30 sed -rn '2,${s:^-+$:</div>:g;
31 s:^r([0-9]+) \| ([a-zA-Z0-9]+) \| ([0-9: -]+) .+$:<div class="changelog"><h2>Revision \1 by \2<br>at \3</h2>:g;p}')
35 <div class='wikitext'><h1>$(basename "$url"), Revision "$rev":</h1>
36 $(if (egrep -q '^(.*/|)$' <<<"$url"); then #are we showing a directory
37 svn ls -r "$rev" "${baseuri}/${url}" |sed -r "s:^.*$:<a href='?p=Subversion\&i=$url/&\&r=$rev'>&</a><br>:g"
39 else #or are we showing a file
40 lang=$(source-highlight --lang-list |cut -d\ -f1 |grep -x "$(sed 's:.*\.::g' <<<"$url")" || echo sh)
41 grep -q '\.' <<<"$url" || lang=txt
42 svn cat -r "$rev" "${baseuri}/${url}" |source-highlight -s "$lang"