一、svn概述 svn是一个开源的版本控制系统,一般的CentOS系统都已经安装了svn,可以使用命令“svn --version”来查看是否安装,及其版本信息。 svn中的一些关键词: repository:源代码仓库; checkout:提取(用于首次连接svn); commit:提交; update:更新(用于同步svn,于svn中的源代码保持一致); svn的生命周期: 创建版本库(create); 检出(checkout); 更新(update); 执行变更; 复查变化(revert); 修复错误(status); 解决冲突(); 提交更改(commit); 二、版本库创建及配置 #创建版本库目录:mkdir -p /share/svn #创建版本库:svnadmin create /share/svn/svnServerDir #配置1: cd /share/svn/svnServerDir/conf vim svnserve.conf #打开以下几项配置 [general] anon-access = read auth-access = write password-db = passwd #如果使用默认配置,则为conf目录下的passwd文件 authz-db = authz #如果使用默认配置,则为conf目录下的authz文件 #配置2: vim passwd # 已下面的格式在users节点下编辑用户名和密码 [users] user_name = user_password #配置3: vim authz [groups] # 在此节点下面指定用户名及所属组 admin = admin1,admin2 user_group1 = zhangsan,lisi,wanger #每个组下可有多个用户,以逗号分割 [/] #权限配置1 @admin = rw #“@admin”的意思是指定admin组下的所有成员都具有读写的权限,其他用户组不能使用@。 zhangsan = w lisi = r * = none #切记即使把这行配置放在最后,在你使用客户端工具连接的时候,也会提示“权限配置无效”,在配置了其他权限之后,一定不能存在此行配置。 [/dir1] #权限配置2 lisi = w wanger = r # 权限:w、r、none #启动服务 方式1:svnserve -d -r /share/svn/svnServerDir #这种方式是指定了create的仓库名的方式,以这种方式启动的svn,只能为一个项目svnServerDir服务; 方式2:svnserve -d -r /share/svn #这种方式是不指定仓库名,只指定仓库所在的目录,以这种方式启动时,可以为svn目录下的所有项目服务; #默认情况下,svn监听的端口是3690,因此你可以通过参数“--listen-port=6666”指定svn监听的端口。 三、检出(checkout) svn checkout svn://192.168.1.1/svnServerDir --username=zhangsan