Viewvc
Submitter: brinkleyViewvc (viewvc.org) is a browser for both svn and cvs that is the successor to the pre-migration source browsers that are avaiable from trac. To install I downloaded from github (as specified in viewvc.org) to synapse:/usr/local/src/viewvc, then unzipped to viewvc-1.1.26. I then followed the directions in INSTALL to run viewvc-install, which asked me to specify where to install the viewvc production copy, which then copied the relevant files to /opt/viewvc. I then configured viewvc for synapse. Some of the configuration variables are the location of svnroot and cvsroot on synapse, which I document in the Migrating CVS and Migrating SVN topics. I also configured viewvc to allow the creation of a downloadable tarball for any directory and its subdirectories. However, this could allow someone to create a tarball of the entire svn or cvs repository, so I modified /opt/viewvc/templates/include/dir_footer.ezt to only include the tarball link if the particular directory has a link to a parent directory. Since the top level views of cvs and svn don't have such a link this has the effect of not allowing a tarball at the top level. Compare with the original template at dir_footer.ezt.original. There are many directives that can be used in templates http://www.chiark.greenend.org.uk/doc/viewvc/docs/template-authoring-guide.html#variables-directory.
To make viewvc work with apache I created a file /etc/httpd/conf.d/resources.conf, which points to directory /opt/resources. This will have software downloads and other data we want to make publuc. I also created a ScriptAlias in resources.conf, which allows the cgi script in /opt/viewvc to run as resources.si.washington.edu/viewvc. Bill Barker created the CNAME resources.si.washington.edu to point to synapse. I can now link directly to code in svn or cvs via viewvc.