viewvc是一个基于web的CVS、SVN代码仓库浏览工具。它最早是从cvsweb发展而来的,cvsweb是用Perl编写的,viewvc原作者Greg Stein发现很难在此基础上扩展新的功能,于是用Python重新实现,并命名为viewcvs。后来又加入了对SVN代码仓库的支持,为反映这一变化viewcvs重命名为viewvc。viewvc可以以独立的程序运行(standalone.py),也可以以cgi方式运行于支持CGI的web服务器,还可以以ASP模式运行于IIS,以mod_python模式运行于Apache。viewvc通过本地文件系统访问代码仓库,所以它必须安装在运行CVS或SVN代码仓库的同一服务器上。运行viewvc需要很多第三方软件,具体需要的依赖软件取决于启用功能和运行平台两大因素。viewvc除了支持CVS代码仓库浏览功能,还支持
1)SVN代码仓库浏览功能
2)代码语法加亮、颜色标注
3)CVS代码修订历史图形显示
4)CVS代码代码提交动作的记录、查询
本文以Windows系统下实现上述1,2,3三个功能为例说明viewvc + Apache CGI的安装配置过程。具体环境是Windows XP SP2,CVSNT 2.5.03 ,Subversion 1.3.0,viewvc-1.0-dev(r1278)。根据这些功能要求需要以下依赖软件:
1)Python 运行时
2)Subversion及Subversion Python绑定
3)Enscript(http://www.codento.com/people/mtr/genscript/)或者Highlight, code colorizer, 2.4.2 及以上版本(http://www.andre-simon.de/)
4)CvsGraph 1.5.0 或更高(http://www.akhphd.au.dk/~bertho/cvsgraph/)
在Windows平台上,由于viewvc使用了Python的Win32扩展模块,所以第一项依赖软件包除了安装官方发布的Python外,还需要Python Win32扩展模块(可从从http://starship.python.net/crew/mhammond/win32/下载)。为了省去另行安装的麻烦,可以使用ActiveState提供的Windows版的ActivePython,它包含了Python Win32扩展模块,使得安装更为便捷。第二项依赖软件包可以从Subversion的官方网站获取。Enscript和highlight都可以对代码进行语法加亮、颜色标注,但由于Enscript相对比较旧,支持的语言相对较少,而且本身又有依赖,所以第三项依赖软件包采用功能更丰富、开发相对比较活跃的highlight。
整个安装配置的过程大致是:
1)获取viewvc及其依赖的软件包
2)安装配置viewvc依赖的软件包
3)安装viewvc
4)配置viewvc
5)测试
6)集成到Apache
2. 获取viewvc及其依赖的软件包
2.1. 获取viewvc
获取viewvc可以从http://www.viewvc.org/download.html下载。目前,viewvc的稳定版本是0.94,但该版本对Windows系统的支持有问题,使用它默认的安装方式往往无法成功。而且,功能不及现在1.0-dev版本全面,事实上,很多开源组织(sourceforge.net参见http://svn.sourceforge.net/viewcvs.cgi/vienna-rss/trunk/ 2.0.0 /;apache参见http://svn.apache.org/viewcvs.cgi/)都使用了该版本,所以推荐使用1.0-dev版本。
获得viewvc 1.0-dev版本需要用svn从viewvc的开发网站http://viewvc.tigris.org checkout代码具体命令:
svn co http://viewvc.tigris.org/svn/viewvc/trunk/ viewvc-1.0-dev
E:/>svn co http://viewvc.tigris.org/svn/viewvc/trunk/ viewvc-1.0-de
A viewvc-1.0-dev/www
A viewvc-1.0-dev/www/project_tools.html
A viewvc-1.0-dev/www/index.html