在 Subversion 服务配置安装手记(一) 中已经介绍了安装配置Subversion的简单过程.下面是为了给Subversion增加Http方式访问的版本浏览系统而选择安装的ViewVC及其配套的插件.
ViewVC是Python编写的, 需要先安装环境.
python-2.5.2.msi
http://www.python.org/
mod_python-3.3.1.win32-py2.5-Apache2.0.exe
http://www.apache.org/dist/httpd/modpython/win/3.3.1/
pywin32-210.win32-py2.5.exe
http://sourceforge.net/project/showfiles.php?group_id=78018
svn-python-1.4.5.win32-py2.5.exe
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
viewvc-1.0.5.zip
http://viewvc.tigris.org/
安装过程不用多说,主要的注意事项是:
1. 版本之间存在对应关系,一定要装统一版本的插件和软件。
2. 安装顺序有先后,即使装的先后不对了,也要记得自己认真检查相关的Apache配置文件内是否正确配置,包括安装路径是否指向正确,该对应到Bin目录的一定不能只写根目录。
3. 因为在Windows系统上安装,因此一定要正确的设置系统的Path属性,如果不放心在电脑属性中编辑,就直接在Dos窗口下设置和检查,一定要确保python\viewvc等程序的路径包括在内。
增加语法加亮功能
highlight-setup-2.6.9.exe http://www.andre-simon.de/
使用以下的软件获得文件版本比较功能.
GNUWin32下的工具软件:
sed-4.1.5-setup.exe
libiconv-1.9.2-1.exe
libintl-0.14.4.exe
diffutils-2.8.7-1.exe
下载地址 http://gnuwin32.sourceforge.net/packages.html
安装好viewvc后,先不要对Apache进行修改,可以用viewvc的bin目录下的standalone.py来验证是否配置正确.
打开viewvc.conf,修改如下:
设置 root_parents = e:/svn : svn e:/svn是我的svn仓库目录
设置 svn_path = D:\Program Files\Subversion\bin 一定要设置到bin,否则annotate的时候会出错
设置 address = Your Name
设置 languages = zh-CN 因为后面我全部汉化了viewvc的模板,所以这里语言设置成了中文
设置 template_dir = templates-viewsvn 把默认的模板替换成另外一个好看点的模板,同时注意要将该模板文件夹放到viewvc目录下。
设置 use_localtime = 1 一定要改,默认是使用UTC时间,改了就是显示本地时间了。
设置 use_highlight = 1 使用语法加亮功能
设置 highlight_path = D:\Program Files\WinHighlight\ 此处是安装路径
设置 use_highlight = 1 使用语法加亮功能
设置 highlight_path = D:\Program Files\WinHighlight\ 此处是安装路径
其他的cvs_roots svn_roots default_root = cvs 什么的都可以注释掉.
汉化viewvc的模板文件时,需要注意以下几点:
1. 为了正确的显示中文,要在include文件夹下的header文件中加入
这是需要加在每个文件头上的。
2. ezt的文件编写非常容易,py的代码也容易读懂,为了确保显示不乱码,最好把ezt文件都用记事本打开了另存为UTF8编码。
修改Config里面的UseLocaltime后.时间显示都有一个“中国标准时间”,但我系统上为乱码. 反正也是多此一举,就打算去掉这个中文字样.
编辑 ViewVC\lib\ViewVC.py
# return
time.asctime(localtime)
+
'
'
+
time.tzname[localtime[
8
]]
# 修改此处的内容, 后面的字段是显示本地时区的名称和时差, 比较不常用.所以去掉
# 再按照常用的2008-04-23 18:30 的时间显示方法修改原始显示模式.
return
time.strftime(
"
%Y-%m-%d %H:%M:%S %A
"
, localtime)
以上
代码含义根据参考文档1
为了在Web浏览时就可以更方便的使用Subversion的功能,Viewvc上又加入了diff功能(进行版本的差异比较)、blame功能(版本的修改历史汇总)。
而这些只要是在正确的安装了相应的GNUWin32下的工具软件就可以实现,不需要额外的配置。这里不多说。
在ViewVC测试OK后,再来配置Apache的相应设置。
首先配置ViewVC的使用方式为python模式,增加 ScriptAlias /view "E:/ViewVC/bin/mod_python/viewvc_mp.py" (此处确定为Viewvc的安装路径)
另外也可以用CGI模式。
其次配置ViewVC的Location.
此处的配置,比较容易出错。我查了一些网站的配置写法,感觉都是过时的东西。这里重点要用到ViewVC的网站,及时查看最新的文档和帮助。
其中, 很多地方用的是PythonHandler apache, 然后就会报错说Apache的handler找不到。这就是资料不对。
另外我作的时候,应该是pythonPath和我的viewvc.py相互影响,报的错误一会是路径下找不到相应的文件,要么就是找到了重复载入的文件。经过反复测试,就写成了我现在的配置文件的样子。
两个路径都写上去了,然后把默认的文件改了个名字。
这里注意我还是继续沿用Windows账户作访问权限,当然也还是可以继续用Apache的访问控制方式来设置这个目录的访问权限。
<
Location
/
view
>
SetHandler mod_python
AllowOverride All
AddHandler python - program . py
PythonPath " ['E:/ViewVC/lib','E:/ViewVC/bin/mod_python']+sys.path "
PythonHandler handler
PythonDebug On
AddDefaultCharset UTF - 8
Options + Includes
Order allow , deny
Allow from all
AuthName " My Account "
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
require valid - user
Location >
SetHandler mod_python
AllowOverride All
AddHandler python - program . py
PythonPath " ['E:/ViewVC/lib','E:/ViewVC/bin/mod_python']+sys.path "
PythonHandler handler
PythonDebug On
AddDefaultCharset UTF - 8
Options + Includes
Order allow , deny
Allow from all
AuthName " My Account "
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
require valid - user
Location >
此处的配置,比较容易出错。我查了一些网站的配置写法,感觉都是过时的东西。这里重点要用到ViewVC的网站,及时查看最新的文档和帮助。
其中, 很多地方用的是PythonHandler apache, 然后就会报错说Apache的handler找不到。这就是资料不对。
另外我作的时候,应该是pythonPath和我的viewvc.py相互影响,报的错误一会是路径下找不到相应的文件,要么就是找到了重复载入的文件。经过反复测试,就写成了我现在的配置文件的样子。
两个路径都写上去了,然后把默认的文件改了个名字。
这里注意我还是继续沿用Windows账户作访问权限,当然也还是可以继续用Apache的访问控制方式来设置这个目录的访问权限。
最后,贴几个ViewVC的显示界面,这是辛苦两天后的成果。
1. 目录
2. 文件
3. 比较
4. 日志
参考文档:
1. http://docs.python.org/lib/module-time.html