一、svn的搭建
1、安装svn
yum install -y subversion #安装svn服务
2、创建svn版本库
mkdir /svnroot/project #创建svn项目目录
svnadmin create /svnroot/project #创建svn版本库
3、配置svn
ll /svnroot/project #创建svn版本库之后,在项目目录下可以看到如下的文件
我们将要配置的是conf目录下的三个文件
authz :权限配置文件,设置用户组,分配用户权限(在本次过程中没有涉及复杂的访问控制,所以不设置authz文件)
passwd :用户及密码文件,创建用户设置密码
svnserve.conf :svn的服务配置文件
(1)passwd
格式如下,依照格式设置用户名密码
(2)svnserve.conf
svnserve.conf 文件, 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
4、svn服务管理
svnserve -d -r /svnroot #启动svn服务
ps -ef | grep svn. -->kill -p pid #结束进程
二、本地使用svn
由于我是Mac系统,所以选用的是snailsvn,在store中搜索“snailsvn”,下载并使用
设置通用信息,打开系统偏好设置,并勾选snailsvn
svn设置,如下图:
在本地创建一个目录用于同步svn数据,在右上的位置有一个svn的图标,点击“svn检出”
填写上svn服务器端地址,和创建的版本库名称,然后点击确定就好了。
三、使用svn的过程中可能出现的问题
1、svn: E200002: /svn/document/conf/svnserve.conf:19: Option expected
安装过程可呢会出现上面的问题,原因是svnserve.conf配置中去掉注释后,要顶格写,不能有空格
2、svn: E170000: URL 'svn://118.24.29.236/document' doesn't exist
在本地同步svn的过程中出现上面的问题,检查服务器中svn进程,启动的命令是svnserve -d -r /svnroot,而不是svnserve -d -r /svnroot/project
3、svn: E155015: Aborting commit: '/Users/apple/Desktop/xxx/xxx' remains in conflict
有冲突文件,先复原,再提交,注意备份已有的文件
4、在svn目录里面,看不到图标或者右击没有出现svn相关操作的提示,需要在snailsvn中添加你所在的目录到工作副本