X-Git-Url: http://git.plutz.net/?p=busy;a=blobdiff_plain;f=templates%2FGit.page;fp=templates%2FGit.page;h=236f7677236a98ed3105adccb3c6e7255649a551;hp=0000000000000000000000000000000000000000;hb=f485895094cd72318b46f39689c3ba954eb37411;hpb=904730d1782749bfac15b0344fe5782433f3099b diff --git a/templates/Git.page b/templates/Git.page new file mode 100755 index 0000000..236f767 --- /dev/null +++ b/templates/Git.page @@ -0,0 +1,48 @@ +#!/bin/zsh +url="$(sed -rn 's:\+: :g;s:%:\\x:g;s:^(.*&)?i=([^&]+)(&.*)?$:\2:p' <<<"${QUERY_STRING}")" +url="$(echo -e "${url}" |sed -rn '1{s:\t: :g;s:\r::g;s:\\:\\\\:g;p}')" +rev="$(sed -rn 's:\+: :g;s:%:\\x:g;s:^(.*&)?r=([0-9a-fA-F]+)(&.*)?$:\2:p' <<<"${QUERY_STRING}")" + +baseuri=$(sed -rn 's:^gitRepo=(.*)$:\1:p' project.meta) +[ -z "$rev" ] && rev="HEAD" + +cat < +

Path:

+ [root] + $(tmp=$url + until [ -z "$tmp" -o "$tmp" = // ]; do + echo "/$(basename "$tmp") " + tmp=$(dirname "$tmp")/ + done |tac) +
+

Tags:

+ $(for i in {1.."$lastrev"}; do + echo "$i" + done) + +

Branches:

+ $(for i in {1.."$lastrev"}; do + echo "$i" + done) + + + :g; + s:^r([0-9]+) \| ([a-zA-Z0-9]+) \| ([0-9: -]+) .+$:

Revision \1 by \2
at \3

:g;p}') +
+ +
+

$(basename "$url"), Revision "$rev":

+ $(if (egrep -q '^(.*/|)$' <<<"$url"); then #are we showing a directory + svn ls -r "$rev" "${baseuri}/${url}" |sed -r "s:^.*$:&
:g" + echo '
' + else #or are we showing a file + lang=$(source-highlight --lang-list |cut -d\ -f1 |grep -x "$(sed 's:.*\.::g' <<<"$url")" || echo sh) + grep -q '\.' <<<"$url" || lang=txt + svn cat -r "$rev" "${baseuri}/${url}" |source-highlight -s "$lang" + fi) +
+SVNEND