svn服务端配置
帮助命令:svn help
通常采用为每个项目单独创建单一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。
安装
yum install subversion
Tips:使用svn help或者svn –version来检查svn是否安装成功了。
配置
1.建立repository目录。本例是在optn下建立的。
mkdir /opt/svn/repos。一般常用的相对路径是svn/repos svn/repos1 svn/repos2…..等。
2.建立SVN的repository(与上面目录对应)
svnadmin create /opt/svn/repos
只有执行此命令,svn才会把repos当做仓库。
执行命令后svn会自动在repos目录下建立多个配置文件, 分别是conf, db,format,hooks, locks, README.txt。
3.配置conf
conf配置文件夹。里面有3个文件。
passwd—用户密码管理。
[users] user1=123 user2=456 格式:用户名=密码
authz—权限管理。
[groups]:admin=user1 用户组管理。
[仓库名:/]: user=rw 管理用户对此仓库的读写权限。
[aliases]:别名设置。
svnserve.conf—-svn设置。
一般情况下不需要修改svnserve.conf。只需要打开以下4个选项就可以了。
anon-access = [none|read|write] 非授权用户的权限。
auth-access = [none|read|write] 授权用户的权限。
passwd-db = passwd 指定用户密码文件的路径。默认是相对路径,除非指定了绝对路径。
authz-db = authz 指定权限配置文件的路径。默认是相对路径。
realm 指定仓库的认证域,相当于namespace。 即在登录时提示的认证域名称
4.导入代码
创建的repos是空的,需要导入code,
svn import /home/code file:///opt/svn/repos “注释”
上面的命令将home中的code导入到repos仓库中。
5.启动服务
svnservice -d -r /opt/svn/repos #这里只启了仓库repos。
启动一个仓库需要指定仓库目录,如果启动所有仓库直接使用svn的目录。
6.从svn下载代码
使用命令:svn checkout svn://ip地址/repos名称
一般都使用tortoiseSVN图形化连接。
7.切换仓库目录
先进入仓库目录
svnswitch svn://要切换的仓库地址。 svnup
常见问题
问题描述:authorization failed
如果authz文件没有正确配置,就会出现这个问题。
解决方法:打开authz,看看用户或用户组权限是不是没有设置好。博主遇到这个问题是因为没有给用户组访问仓库的权限。必须加上[仓库名:/]。
示例:
[groups] ##定义一个用户组 admin = ado,jay,xiao [/] #必须设置用户组的访问权限 @admin = rw
问题描述:SVN 由于目标计算机积极拒绝,无法连接.
原因:svn服务没有启动
解决方法:svnserve -d -r 仓库地址
SVN目录规范
一般标准的SVN目录有3个。
trunk:存放项目的主分支,一般在此开发测试。
branches:一般存放各个稳定版本。
tags:保存一些特定的版本。
创建目录结构
1.在本地ckeckout下空仓库文件。在服务器上创建仓库后,仓库只是一个空的文件夹。
2.在仓库下创建需要的文件夹,然后对这个文件夹右键,tortoisesvn-add,这个文件夹就会加入svn结构中。
3.右键svn commit,把新的结构提交到服务器svn中。