SVN服务器的搭建及简易管理

From:lionely

1.      简要了解版本控制:

版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision)。

版本控制也称作Revision Control System(RCS)

2.      使用版本控制的好处:

对团队和个人都有好处:

  • 为团队提供了所有项目文档的回退按钮;
  • 支持多个开发人员在可控的方式下为相同的代码工作;
  • 版本控制系统保存了文档在过去的各个改动,便于查找是谁,在何时,因为什么修改了文档;
  • 支持在文档的主线上同时有多个版本;
  • 支持查询在某个时点上项目各个文档的状态,可用于研究生产效率等,也可用于对以前的软件发行版的再发行。

3.      常见的版本控制系统:

4.    VSSVisual Source Save,微软公司的版本控制器软件,http://msdn2.microsoft.com/zh-cn/vstudio/aa718670.aspx

5.    CVSConcurrent Versions System,开源免费,http://www.nongnu.org/cvs/

6.    Subversion,开源免费,http://subversion.tigris.org/

7.    ClearCaseIBM公司,http://www-306.ibm.com/software/awdtools/clearcase/

本文仅介绍:Subversion

4.Subversion介绍:

Subversion是新一代的版本控制工具,正逐步替代CVS

资源:

·         官方网址:http://subversion.tigris.org/

·         subversion中文站:http://www.subversion.org.cn/

·         中文手册:http://www.subversion.org.cn/svnbook/

·         subversioncvs的对比:http://www.uml.org.cn/pzgl/200705251.asp

5. Subversion的安装:(在windows环境下安装)

A.下载,安装SubversionSVN服务器端):

官网:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

下载的安装包点击安装即可。服务端安装好后软件会自动在系统的环境变量中增加相应的值,测试是安装完成可以在cmd命令行中输入“svn”或者“svnadmin”来测试,出现“使用“SVN help”得到用法”,即成功!还有一种就是查看电脑的用户变量是否出现变量名为 ARP_ICONV_PATH,更重要的是查看系统变量path的变量值中是否含有“subversion/bin”字段。以上两种方法是检测软件是否在windows下安装成功!

(安装环境在windows98以上版本)

B. 创建SVN仓库:

使用以下命令:
svnadmin create <
仓库路径>

例如:svnadmin create --fs-type bdb d:/svn/project1
  
// svnadmin
exe程序,安装时已经自动加到系统路径了。
   //
这里选择了  Berkeley DatabaseBDB)方式做为版本库的类型
   //
也可用TortoiseSVN这个客户端工具实现创建
   // d:/svn
是版本库的位置,也可以取别的名字,别的路径,一个版本库可以包含多个项目
   // project1
是某个项目名称,

C.windows下生成服务:

为了便于启动该软件,我可以在windows下生成一项服务,并将其命名为Svnservice,设置为自动启动。进入DOS:(这里用到的是Windows自带的创建服务的命令sc

Sc create SVNService binpath= "安装路径 --service -r d:/svn" displayname= "SVNService" depend= Tcpip start= auto

安装路径:为安装subversion的安装路径,如:c:/Programs Files /svn-win32-1.5.4/bin/svnserve.exe
注意这里的格式,“=”后面是必须空一格的,否则会出现错误。其中的几个路径分别是服务端安装路径和存储库的路径。
在提示建立成功后,可以直接输入“net start SVNService”来启动服务,或者可以直接在管理工具服务中直接启动。

------当然也可以手动利用DOS启动服务,本文介绍的是作者总结后最简单的方法!

D. 修改svn配置文件:(当然这也涉及到管理啦)

打开svn目录中配置文件conf/svnserve.conf,修改配置参数。
例:d:/svn/project1/conf/svnserve.conf去掉以下内容之前的注释符#
[general]
anon-access = none   
auth-access = write
password-db = passwd

(注意前面没有空格)

第一个用来设置匿名用户的权限 none为设置存储库不允许匿名访问
第二个用来设置经过授权的用户的权限 write为可以写入
第三个用来指定授权用户的密码存放文件

E.设置用户(管理)

打开d:/svn/project1/conf/passwd文件*****以记事本格式打开
 
[users]
yuanjun = pass1

这里就是指定授权访问用户名和密码,格式为:用户名 = 密码  

多个用户就加多行

F权限设置

打开d:/svn/project1/conf/ authz文件*****以记事本格式打开,进行修改

例如:

[groups]
    #
定义组信息

    p1_group_a = p1_admin1
    p1_group_d = p1_d1
    p1_group_t = p1_t1

  [/]
    #
指定所有的版本库默认只读,root可读写
    * = r
    root = rw
    [project1:/]
    #
指定对版本库project1根目录的权限
    @p1_group_a = rw
    @p1_group_d = rw
    @p1_group_t = r

    [project1:/trunk/admin]
    #
指定对版本库project1/trunk/admin根目录的权限,
    # p1_group_a
读写,p1_group_dp1_group_t没有任何权限。
    @p1_group_a = rw
    @p1_group_d =
    @p1_group_t =

再复杂的情况也不过如此,在实际的工作中要首先规划好权限,只赋给用户最小的权限,保证以最小的配置实现最复杂的权限控制

TIP:2003XP建立防火墙。是进入防火墙,然后选添加程序,选择安装路径下的bin下的svnserve.exe即可。

现在就是安装一个客户端,这里推荐一个既可以编写PHP代码,也可以直接提交代码到服务器上的软件EPP. 具体使用自己到网上看看。好的,就介绍到这啦!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐