本文将介绍Windows下subversion作为Apache module的安装方法。

安装Apache

http://httpd.apache.org/ 上下载Apache。最新版本的subversion仅支持 Apache 2.0.x,不支持Apache 1.3.x,所以请下载 Apache 2.0.x 版本。最新版本为 Apache 2.0.59。

2007-6-6追加:另外subversion也不支持Apache 2.2.x版本,详细原因请参考这里

下载之后运行安装程序进行安装。安装完毕之后,打开浏览器,输入 http://localhost/,如果能够看到 Apache 的欢迎画面,即表示安装成功。

安装subversion

下载

http://subversion.tigris.org/ 下载subversion,最新版本为1.3.1。这里我们选择for Win32的zip版(svn-win32-1.3.1.zip)下载。

安装

下载之后将 svn-win32-1.3.1.zip 解压缩到 C:\ 下。为方便起见,将目录名svn-win32-1.3.1修改为 svn。

然后我们需要建立一个保存subversion的版本库的目录。假设我们将此目录命名为 C:\svnwork。

打开“控制面板”->“系统”->“高级”->“环境变量”,修改PATH变量,在其末尾添加 C:\svn\bin。

然后将 C:\svn\bin 下面的 mod_authz_svn.so、mod_dav_svn.so 两个文件复制到 Apache 的 modules 目录下。打开Apache的配置文件 httpd.conf,查找 LoadModule,将下面这一行之前的 # 去掉:

LoadModule dav_module modules/mod_dav.so

然后在LoadModule块的末尾添加如下两行:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

之后在httpd.conf的末尾添加如下几行:

<Location /repos>
     svn
     C:/svnwork
</Location>

其中,repos 为从Web上访问版本库时所使用的路径,而SVNParentPath后面的目录即为版本库目录的位置。该指令告诉Apache,所有以 /repos 开头的请求都交给subversion处理。

然后重新启动计算机(原因请参见这里)。打开“控制面板”->“管理工具”->“服务”,查看Apache2服务的描述,如果描述变成类似于“Apache/2.0.54 (Win32) DAV/2 SVN/1.3.1”(包含SVN字样)则说明安装成功。

客户端设置

subversion的用户需要设置如下环境变量:

SVN_EDITOR="C:\Windows\notepad.exe"

当使用subversion进行导入、提交等操作时,subversion会调用该程序编辑提交说明。

建立subversion的版本库

作为演示,我们建立一个版本库。首先打开命令行提示符,进入C:\svnwork,输入以下命令:

svnadmin create demo

然后尝试向demo版本库中添加代码。假设我们在 D:\program\svntest 下面有一个名为 demo.c 的文件,那么我们输入以下命令:

D:
cd program
svn import svntest http://localhost/repos/demo

其中 svntest 为目录名。svn会调用文本编辑器来编辑说明文字,保存并关闭之后,svn会显示:

Adding         svntest\demo.c

Committed revision 1.

然后可以通过以下命令察看保存到服务器上的文件:

svn list http://localhost/repos/demo
demo.c