Friday, June 02, 2006

Web CVS viewing

Today's task was to get ViewVC set up, for a nice web view of the CVS repository.

The basics were pretty straightforward; ran the viewvc-install script to install it into /usr/local/viewvc-1.0.0, and then went to /Library/WebServer/Documents and added a symlink with ln -s /usr/local/viewvc-1.0.0/bin/cgi cvs.

Next was to get Apache to run the ViewVC scripts. In a very similar way to one of the steps in the Bugzilla installation, this involved editing /etc/httpd/httpd.conf to add a new section (followed by a killall -HUP httpd):

<Directory /Library/WebServer/Documents/cvs>
  AddHandler cgi-script .cgi
  Options +Indexes +ExecCGI
  DirectoryIndex viewvc.cgi
  AllowOverride Limit
</Directory>

Now time for some added chrome: syntax colouring. I tried both Enscript and Highlight (the former from the enscript Fink package, the latter from source), and decided to go for Highlight as it included line numbers in the output.

One final tweak, though: Highlight wasn't recognising some of our Visual Basic files, because they have slightly different extensions (.cls and .dsr). A quick modification to /etc/highlight/filetypes.conf to change the line

  $ext(vb)=bas basic bi 
to read
  $ext(vb)=bas basic bi dsr cls
and we're done.