环境:
操作系统:window xp sp2
SVN的版本:1.5(http://www.collab.net/downloads/subversion/)
TortoiseSVN的版本:1.5(http://sourceforge.net/projects/tortoisesvn/)
SVN服务器端安装配置
1、 安装SVN服务器端
A、到svn的官方网下载svn服务器端软件到本地,然后安装,按提示一步一步安装完成。1.5版本默认的会将svn添加为window的服务的选项,勾选上即可随操作系统的启动而启动svn的服务。而1.5以前的版本则需要手动添加的window的服务中,用window的sc命令,至于sc命令如何用读者可以查看sc的帮助。
B、安装完后打开window的服务管理器,将svn的服务启动,全名为Svnversion Server。打开命令行运行命令svnadmin --version,可以看到svn安装的版本信息,至此svn的安装完成。
C、安装svn客户端端软件TortoiseSVN,按步骤安装下来即可。
2、SVN服务器端的配置
第一点只介绍了svn的安装,要让其能够使用,我们还需要些配置,像版本库的建立,用户的访问权限等。
A、创建版本库。
打开命令行执行svnadmin create path,其中path表示你要建立的版本库的存放路径,此路径也是svn在window的服务上注册是指向的路径,笔者的路径为D:\svn_repository,即svnadmin create D:\svn_repository。运行该命令后,可以发现在D:\svn_repository的目录下,创建了些文件和文件夹,至此创建版本库成功。
B、配置用户的访问权限。
在刚才的目录下有个文件夹conf,svn的配置文件就在此目录中。打开该文件夹下的svnserver.conf文件,我们可以看到svn的配置信息的一些属性,这里行前凡是有#的都表示被注释掉了,你可以把#去掉让该行的属性生效,或者自己在最后添加新的行来生效svn的属性。
在这我们关心的属性说明如下:
anon-access = read 表示匿名的用户可以什么样的方式访问版本库,有none、read、write三个值可选,文件中为read说明匿名用户可以只读的方式访问版本库。
auth-access = write 表示验证通过的用户具有什么权限,有none、read、write三个值可选,文件中为write表示可写,当然也可读了。
password-db = passwd 表示用户的密码存放的地方。
authz-db = authz 表示版本库中访问路径的规则,即谁只能访问哪个目录下的文件,其他目录下的文件无法访问。
现在我们将auth-access、password-db、authz-db三个属性的前面的#去掉,使其生效,注意三个属性前不能有空格。
然后我们编辑passwd和authz这两个文件的信息。
a、在passwd文件中的[users]下添加能访问版本库的用户名和密码,如该文件中的事例。我们添加admin = admin
b、在authz文件中,[groups]下可以配置组信息,即将几个人加入到一个组中。[/foo/bar]下添加人员的规则表示谁可访问/foo/bar路径下的信息。我们在[/foo/bar]下添加
[/]
admin = rw
至此,我们配置了admin的账号,该账号具有根目录下的所有文件的读写操作权限。
3、创建我们的项目
在D:"test下新建project文件夹,在project下新建trunk,tags,branches三个文件夹,打开命令行,将目录转到D:\test下,运行svn import –m addproject --username admin --password admin --config-dir /project svn://localhost回车显示如下:
Adding project
Adding project/trunk
Adding project/branches
Adding project/tags
Committed revision 1.
表示我们的项目project创建成功。
这里说明下trunk、tags、branches三个文件夹的作用:
trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。
branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。
tags:表示标签存放的目录。
在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trank上时创建个版本标识,以后branches上修改的bug代码再合并到trunk上时就从tags的version到branches最新的version合并到trunk,以保证前期修改的bug代码不会在合并。
至此我们就可以使用svn来管理我们的代码了。
posted on 2008-08-02 22:16
囧囧之猪 阅读(1090)
评论(0) 编辑 收藏 所属分类:
tools