2006-04
06

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


安装Apache

http://httpd.apache.org/ 上下载Apache。最新版本的subversion仅支持 Apache 2.x Apache 2.0.x,不支持Apache 1.3.x,所以请下载 Apache 2.x Apache 2.0.x 版本。最新版本为 Apache 2.2.0 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>
    DAV svn
    SVNParentPath 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



这篇文章有 6 条评论了,快来一起讨论讨论吧!
#1
匿名
2007-06-06 13:01

Apache 2.2.

和 subversion1.3x 能一起用吗?

#2
charlee
2007-06-06 22:03

感谢你指出错误。Apache2.2和subversion1.3不能一起使用。已在原文中改正了。

#3
Edison
2007-12-19 10:01

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

Adding svntest\demo.c
============================
实际上,这里会让你选择操作后,才出现Adding…
============================
Committed revision 1.然后可以通过以下命令察看保存到服务器上的文件:

svn list http://localhost/repos/Test
demo.c
============================
这里有个小小的错误,刚才建立的是demo,所以这里把Test改为demo。
不过仍然是非常不错的文章,谢谢!!

#4
charlee
2007-12-19 14:22

@Edison 谢谢指正,后面的那个 Test 问题已经修改了!

#5
匿名
2008-03-08 10:22

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

SVN_EDITOR=”C:\Windows\notepad.exe”当使用subversion进行导入、提交等操作时,subversion会调用该程序编辑提交说明。

可是我电脑上找不到这个程序啊!

#6
charlee
2008-03-08 16:41

没有的话,换成其他任何编辑器都可以。

添加评论