ITPub博客

首页 > Linux操作系统 > Linux操作系统 > svn1.5.6环境配置(svnserve方式)

svn1.5.6环境配置(svnserve方式)

原创 Linux操作系统 作者:xuelu2000 时间:2011-06-23 14:12:25 0 删除 编辑
一、环境和软件准备
操作系统: windowsXP sp2
SVN服务器端下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
选择里面的win32安装包,我选择的是svn-win32-1.5.6.zip。
SVN客户端软件下载地址:http://tortoisesvn.net/downloads,我选择的是TortoiseSVN-1.5.9.15518-win32-svn-1.5.6.msi。

客户端安装过程其实很简单,哪个先装都可以,设置好安装路径后一路Next到底。
客户端安装好后会提示你重新启动计算机,照做就行。

服务端不用安装,直接解压缩!我这边的解压路径为c盘根目录下。

二、部署存储库并运行服务端
建立SVN的存储库,路径以d:\svn为例,创建完该文件后,就进行Windows的服务绑定,以便以后每次重启机器后都能自动运行。
这里用到的是Windows自带的创建服务的命令sc,在命令行模式下执行:
sc create SVNService binpath= "C:\svn-win32-1.5.6\bin\svnserve.exe --service -r d:\svn" displayname= "SVNService" depend= Tcpip start= auto

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

三、创建项目以及配置访问权限
进到d:\svn目录下,鼠标右键选择[TotoiseSVN]->[Create Repository href...]进行创建,创建之前保证该目录下没有任何的文件夹和文件。
创建成功后会在里面自动生成几个文件夹:dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;conf存放的是配置文件;
访问权限的设置方法:
1、在conf目录下,用记事本打开svnserve.conf,设置如下:
[general]
anon-access = none
auth-access = write
password-db = passwd

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

2、在同一目录下打开passwd,也就是上面设置的,当然你也可以改成其他的文件名,设置如下:
[users]
xuel = xuel

这里就是指定授权访问用户名和密码,格式为:用户名 = 密码
多个用户就写多行,设置完之后就大功告成了。

3、建立一个用户组admin,并把我自己加入这个组,赋予这个组中成员读写的权利。^_^,只有我能这个SVN版本库进行操作喽。
打开D:\svn\conf\authz,修改如下:

[groups]
admin = xuel

[/]
* = r
@admin = rw

重启Subversion服务后生效。

四、导入项目
上面的安装配置工作完成后,启动服务,现在进入使用的主题,首先一步是把需要进行版本管控的项目加入到仓库中。在作这个工作前,需要先接受下, SVN 推荐的项目路径结构。一般推荐是使用一个 trunk 保存项目主干最新版本, breaches 保存以后的多个分支, tags 一般保存发布或阶段性发布的标签版本。如下

Project1/trunk

Project1/branches

Project1/tags

下面我吗使用该目录结构,加入一个测试的项目 project1 来演示添加项目的过程。

在任意目录建立文件夹 test ,然后在 test 下建立上面推荐的项目目录结构。如下

test/project1/trunk

test/project1/branches

test/project1/tags

操作步骤为:
1.右键点击 test 目录,选择“ TortoiseSVN ”- > “ Import ”
2.在弹出的操作界面中 URL repository 中输入服务器地址 svn://localhost
3. 在弹出的操作界面中 Import message 下面的文本域输入 init project1
4.点击 OK
5.如果第一次使用,会弹出输入账户的界面,输入对应的用户账户,选择保存,下次使用就不用在输入账户认证信息了。

查看是否添加成功:
1. 使用 window exporer 或我的电脑,定位到 E:\subversion\repository ,并确保本目录为空。
2. 在本目录下,右键菜单中选择“ TortoiseSVN ”- > “ Repo-browser ”
3. 在弹出的输入框中输入 SVN 服务器地址 svn://localhost
4. 在 Repository Browser 窗口中,你可以点击树形结构的仓库目录,查看是否存在你刚才添加的 project1
5. 如果你的用户有足够的权限,你可以在本界面的树目录上使用右键管理你的仓库和项目。


五、工作副本 (checkout)

工程加入到仓库后,下面就可以进入实际的研发使用了,首先是要建立个本地的工作副本,使用 checkout 。

1.在任意开发机上建立工作目录。如: D:\workspace\project1

2.进入具体项目的工作目录,右键菜单中选择“ SVN Checkout ”

3.在 checkout 窗口中:

URL of Repository 是你具体的项目的主干仓库访问地址
如: svn://localhost/project1/trunk
Checkout directory 是你本地副本的地址
如: D:\workspace\project1
其它的使用默认选项,如需要了解具体含义,请查看参考文档
4.点击 OK

六、常用开发操作——更新和同步

以下主要都是在工作副本的开发中的常用操作。

其它开发人员或在其它工作副本上提交到仓库的最新版本文件,需要更新到你自己的工作副本的操作。使用更新使你的工作副本于服务器仓库代码同步。如果你更新的文件中本地副本和服务器仓库中的文件都是在同一版本上,本地副本作了修改文件操作后, SVN 没有办法更新,因为它不知道是否该放弃本地的修改,它默认会操作合并的方式,但往往很多时候有些文件是不能简单的自动合并的,所有最好的办法是以仓库的版本为准进行更新,这就是同步操作。

下面主要说明使用客户端工具 TortoiseSVN 的操作方式,其它客户端工具和命令方式类似。

1. 在需要更新或同步文件上或文件夹内右键点击,选择 SVN update 命令

2. 如果需要同步某个文件或文件夹,需要先删除本地版本,然后在使用 SVN update


参考:
1、http://blog.csdn.net/yjone2008/archive/2008/11/17/3320694.aspx
2、http://www.uml.org.cn/pzgl/200905158.asp

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/95233/viewspace-700588/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-23

  • 博文量
    89
  • 访问量
    238992