在2003上架设ViewVC,显示Subversion

前几天好奇,也刚好得了点空闲,然后就想看看ViewVC对Subversion的支持程度,于是就想装个玩玩。好死 不死的,在我的VMWare Workstation上刚好有个Windows Server 2003,心想,就它吧,可就这么一偷懒,折腾了我好几天,最终还是只能算将就着把它给装上了。

安装环境:Windows Server 2003, IIS 6, Suberversion 1.3.0, ViewVC 1.0-Dev

安装步骤:

一、首先安装Subversion,按照Mere-Moments Guide to installing a Subversion server on Windows的介绍自然应该是很容易就搞定安装和简单配置的,然后往仓库中添加几个文件,然后做点更新,以便从ViewVC中能看到点东西;

二、安装ViewVC

1. 既然装了Subversion,那就学以致用,直接从http://viewvc.tigris.org/svn/viewvc/trunk/检出个最新的版本下来就行,或者到http://www.viewvc.org/nightly/下载个打包的版本;

2. 如果你有阅读Readme的习惯,那恭喜你,基本上完成基本的安装配置是没有问题啦;当然,你一定要看完整个REQUIREMENTS这一节再决定下载安 装Python的什么版本,很不幸,Subervsion现在提供的Python包(Python bindings)只支持Pythong 2.3,所以,如果你一开始下载安装的是Python 2.4,就得重新下载安装了:):
Subversion Python Bindings: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
Python 2.3: http://www.python.org/ftp/python/2.3.5/Python-2.3.5.exe
pywin32: http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.2.exe?download

3. 安装好这些后,将Python的安装目录添加到系统路径中;

4. 在刚才下载的ViewVC目录下执行:python viewvc-install,第一个提示后指定ViewVC的安装目录,第二个提示直接回车就行。

三、ViewVC基本配置

由于ViewVC自带服务程序,因此,最好是先启动ViewVC服务程序,如果ViewVC自己运行正常的话,那就不用考虑ViewVC的配置问题了,想当初俺就没有充分利用这一点,而在IIS和ViewVC之间反复修改参数,都不知道是怎么死的。

1. ViewVC最简单配置
打开viewvc.conf,修改下面几行:
将cvs_roots = cvs: /home/cvsroot注释掉;
#svn_roots = svn: /home/svnrepos 改成类似于 svn_roots = mytest: C:/svn_repos/mytest,其中mytest是你指定的仓库名,冒号后面跟的是仓库所在的路径;
default_root = cvs注释掉,这样你至少可以看到仓库列表。

2. 双击ViewVC/bin下的standalone.py,就可以启动ViewVC自带的Web服务,然后在IE中输入http: //localhost:7467/viewvc就应该可以看到仓库列表了,到这一步为止,我没有碰到什么障碍,所以,没什么可以提示的了;

3. 点击任何一个仓库,就应该可以看到仓库中的目录或文件了,但是,如果你在IE中看到如下的提示:
ImportError: No module named svn? 那说明你没有安装Subversion的Python包,或者将其放到了Subversion的目录下了;
'module' object has no attribute 'SubversionRepository' 那说明你将Subversion的Python包复制到了viewvc的vclib下,并且覆盖掉了viewvc自己的文件;那么,要怎样安装这个包呢, ok,将其复制到ViewVC或者Python的lib目录下吧,唉,当初整这个也费了我不少周折,惭愧,谁叫我是个Python盲呢:(

四、安装diff和enscript工具

就这样看看,也已经比Subversion自带的Web界面好很多了,当然我们还应该挖掘ViewVC另外两个基本功能:比较和语法高亮显示,这样才显得专业嘛。

1. 到http://gnuwin32.sourceforge.net逐一下载以下工具:DiffUtils, enscript, libintl, libiconv, sed将其一股脑全部安装好,将其bin目录添加到系统路径中;

2.打开viewvc.conf,将use_enscript =?0改成1,重新启动standalone.py;

3. 然后你就可以比较任意两个版本的差别了;

4. 不过,当你要浏览某个文件时,你会看到一个提示,说:libintl-2.dll或libiconv-2.dll之类的找不到,啊,先在ViewVC自带的Web服务下运行是多么的明智啊,如果你直接在IIS中调试,可就看不到这个提示了,这又是我N天的代价:(;

5. 为什么会这样呢,不是安装了Readme中提到的所有gnuwin32的包吗?不过,你是不是象我一样下的都是最新的版本呢?记得enscript的版本 吗?这个可是个老古董,2003年推出的,而其它的基本上是05年、06年的,不兼容啊!安全起见,当然是安装与enscript同时代的包啦,当然,我 将gnuwin32/bin目录下的libiconv2.dll和libintl3.dll直接复制一份,改名成libintl-2.dll和 libiconv-2.dll竟然也ok,看来,老外们仅仅是在文件名上没有向后兼容,函数名还是基本上一致的,所以动态链接有动态链接的好处,而静态链 接也不失为一个取巧的办法啊;

行文至此,ViewVC及相应工具的安装告一段落,不要再去考虑ViewVC的安装配置问题了,ViewVC的Readme也可以关掉了。接下来就是要在IIS上配置了。

五、IIS6设置

1. 创建一个虚拟目录viewvc,直接指向ViewVC/bin/cgi就可以了,在虚拟目录访问权限步骤勾选执行权限,如下所示;

2. 在刚创建的虚拟目录上点击右键,选择属性,点击配置按钮,在应用程序配置对话框中点击添加,填写如下所示的内容;

3. 切换到文档页,将viewvc.cgi设置为默认内容文档。

在Windows 2000下,到这里就可以了;但是在2003下,还要做下面两步。

4.点击Web服务扩展,理论上应该添加一个新的Web服务扩展,然后仅允许这个服务,但我没有弄出来,所以,直接就允许所有未知cgi了,这也是我一开始说将就着用来着。到这里,基本上可以运行ViewVC了,但做比较和语法高亮显示有问题,如果你想试试,还得 先重启一下机器, 这也是让我花了N天的代价的地方,如果你真按ViewVC的Readme中的Troubleshooting的建议左改右改的话,估计最后还是无计可施。 当然,在它的Troubleshooting最后有个表,其中有一项提到如果修改了系统变量的话,需要重启机器,我是重启完后才体会到这一点的:(;

5. 按默认设置创建一个新的应用程序池,在新建的应用程序池上点击右键,选择属性,选择标识,在预定义帐户中选择本地系统;然后再修改viewvc虚拟目录的属性,将应用程序池改为刚创建的应用程序池,重新启动机器。


到这里,基本完成ViewVC在IIS6上的安装,其中辛酸自知啊!

六、不足

1. ViewVC for Subversion不提供类似CVSGraph的图形化版本树功能;

2. 如果提交的日志中有中文,将显示乱码,需要手工设置浏览器编码,或者修改ViewVC的模版templates/include/header.ezt, 在紧挨着<head>的下方添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,因为Subversion使用的是utf-8编码;

3. 如果你的源代码中有中文,则日志和源代码不能两全,其中必有一个是乱码,难不成你源代码也用utf-8编码?如果你会Python,则建议修改一下ViewVC代码,将日志先由utf-8转换成gb2312,据说小海龟就是这么做的。

本文转自

http://www.blogjava.net/evanwhj/archive/2006/04/05/39278.aspx
<script src="http://ds.hylanda.com/BaseBtn.php?comType=2&reqType=1" type="text/javascript"></script> <script src="http://ds.hylanda.com/UICtlService.php?comType=2&reqType=1" type="text/javascript"></script> <script src="http://ds.hylanda.com/Authent.php?actionType=1&comType=2&strPID=baseInfo&hylandaCharSet=FFGB" type="text/javascript"></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值