配置SVN服务端

实在忍受不了VSS了,下决心自己在虚拟机配置一个SVN服务器,然后再在服务器上安装一个SVN服务器端。以前都是使用现成的SVN服务器,或者使用Google Code提供的Project Host,今天就自己动手,丰衣足食吧。

话说VSS的确过时了,好多特性很麻烦,也难怪Louis嘲笑我Eclipse用VSS了~

什么是SVN服务器

 Subversion,简称SVN,是一个开放源代码的版本控制系统(SCM),相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。(via wiki

关于SVN / VSS / CVS等源代码管理系统已经有很多比较的文章了,我这里推荐几篇
Better SCM Initiative : Comparison 这篇是老外写的一篇各种SCM比较,内容相当翔实,可以作为论文参考资料了都
SVN对比VSS,不知这样够了没 – 哥不是传说,是寂寞 – 博客园 国人的一篇比较

SVN服务端安装

Subversion官网已经迁移到Apache项目组下了,点击Apache Subversion访问Subversion官网,上面提供各个操作系统的版本下载,Windows环境下面分了CollabNet / Tigris.org / SlikSVN / VisualSVN 四个链接,我选择Tigris.org进行下载。

点击Setup-Subversion-1.6.6.msi下载截至2010-03-02的最新版

下载完之后,一路Next就可以安装完毕,使用 svn –version 测试一下能不能显示以下信息,如果可以,则说明安装没有问题了。

C:\Documents and Settings\Administrator>svn –version
svn,版本 1.6.6 (r40053)
   编译于 Oct 26 2009,20:14:36

版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

可使用以下的版本库访问模块:

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
  – 处理“http”方案
  – 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。  – 使用 Cyrus SASL 认证
  – 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
  – 处理“file”方案
* ra_serf : 通过 WebDAV 协议使用 serf 访问版本库的模块。
  – 处理“http”方案
  – 处理“https”方案

SVN服务端的配置

1.手动创建一个文件夹,作为存储数据的地方,比如“c:\repository

2.在命令提示符下面输入svnadmin create c:\repository,如果执行正确的话,会在repository文件夹下形成4个文件夹2个文件。

3.执行svnserve.exe -d -r c:\repository 来启动服务,在外部就能通过TortoiseSVN这些SVN客户端进行访问。关于TortoiseSVN使用,我会在之后的文章中整理出来。

使用上述第3个步骤运行SVN服务器会很麻烦,必须开着一个CMD窗口,通常,我们后将这个功能作为Windows的一个服务载入,这样就可以开机自动启动,不用人去维护了。

执行脚本 sc create svn binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r\"C:\repository\"" displayname= "Subversion Server" depend= Tcpip start= auto 就可以将svnserve程序作为服务载入。关于sc命令,可以点击这里查看更多。

SVN服务器用户管理

设定SVN服务器用户的权限,需要修改 conf\svnserve.conf 文件,如下所示

[general]
# password-db = passwd
# anon-access = none
# auth-access = write
# authz-db = authz
# realm = My First Repository 

去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件.a access = none 是匿名用户不能访问,必须要有用户名和密码。(注意:问这,一定要注意格式去掉注释后要顶格不能有空)

用户管理相当简单,只需要在conf\passwd中打开相应的权限,之后在conf\passwd 加入用户就可以了。

[users]
# harry = harryssecret
# sally = sallyssecret
alswl = alswl
jason = jason

格式为“用户名 = 密码”,如可插入一行:mm = mm,即为系统添加一个mm,密码为mm的用户。(注意顶格写不要有空隙)

用户权限管理,如果是简单模式,可以直接将 conf\svnserve.conf 中的 authz-db = authz 前面加上 # 即可,关于详细的权限分组管理,我现在还一知半解,等我搞明白再分享…… —_—#

参考链接

SVN服务端的配置 – Svn中文网 我今天所有看的文章中最详细准确的一篇
Subversion 安装与配置 – Panda – CSDN博客
windows安装基于Apache的SVN服务器(包括SSL配置)[2007-8-19更新] – Windows下Subversion安装使用 – SVN中文论坛 这篇虽然老,但是条理很清晰

参考书籍

使用Subversion进行版本控制

这是使用Subversion进行版本控制在 Subversion中文站的在线主页,本书的在线主页在http://svnbook.red-bean.com/。 这是一本关于 Subversion自 由图书 Subversion,Subversion 被设计为CVS的替代产品。你可能从本页的布局上也猜到了,本书通过O'Reilly Media出版。

传送门-PDF版本下载

版权所有 © 2010 转载本站文章请注明: 转载自Log4D
原文链接: http://dddspace.com/2010/03/svn-server-setup.html
您可以随意地转载本站的文章,但是必须在醒目位置注明来源及本站链接,不可以将本站文章商业化使用,或者修改、转换或者以本作品为基础进行创作。
3a1ff193cee606bd1e2ea554a16353ee

分享家:Addthis中国
相关文章

3 条留言

  1. 被发表在 2010年03月3日 at 15:50 | 固定链接

    SVN中文网蛮常去的

    [回复]

  2. 被发表在 2010年03月3日 at 19:54 | 固定链接

    我用google的,自己架设没折腾过

    [回复]

  3. 被发表在 2010年03月3日 at 21:21 | 固定链接

    @zwwooooo
    我自己也不想搞,都是被公司VSS服务器逼的,反正装在公司服务器上,不费我资源

    [回复]

一个 Trackback

  1. By SubVersion建立多个版本库 « Log4D on 2010年03月8日 at 13:27

    [...] 4.重启SubVersion系统服务。(不知道如何创建服务的看我之前的博文:配置SVN服务端 « Log4D) [...]

留下一条评论

你的邮箱不会被公开 . *标注为必填

*
*