SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
svnserve是SVN自带的一个轻型服务器,客户端通过使用以svn://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问SVN版本库。svnserve可以通过配置文件来设置用户和口令,以及按路径控制版本库访问权限。本文详细分析了svnserve配置文件格式,并说明如何使用配置文件控制版本库访问权限 svn的版本管理其最大的特点就是集中式,所有的项目代码文件都放在svn服务器上,客户端并不具有全部项目代码文件,因此对svn服务器的设备要求较高
建立版本库(也可以理解为是一个项目,这个目录不能用mkdir来创建,因为svn有自己运行方式,会创立属于svn自己很多的文件)
修改配置文件
用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。 [users]配置段的配置行格式如下: <用户名> = <口令> 注意:配置行中的口令为未经过任何处理的明文
权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。 [groups]配置段中配置行格式如下: <用户组> = <用户列表> 用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"(如:引用用户组"all"要使用字符串"@all")。 版本库路径权限段的段名格式如下: [<版本库名>:<路径>] 如版本库abc路径/tmp的版本库路径权限段的段名为"[abc:/tmp]"。 可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为"[/tmp]"的版本库路径权限段设置了所有引用该权限配置文件的版本库中目录"/tmp"的访问权限。 版本库路径权限段中配置行格式有如下三种: <用户名> = <权限> <用户组> = <权限> * = <权限> 其中,"*"表示任何用户;权限的取值范围为''、'r'和'rw',''表示对该版本库路径无任何权限,'r'表示具有只读权限,'rw'表示有读写权限。 注意:每行配置只能配置单个用户或用户组。 配置文件保存后就立即生效,重启或者不重启svnserve服务都可以
启动到svndata这个目录,所以在客户端访问的URL中末尾续接上/sadoc,假如只有1个项目时,就可以 svnserve .../application/svndata/sadoc,直接输入地址svn://xxx.xxx.xxx.xxx即可访问
附:常用命令(参考自https://blog.csdn.net/liuchong_lch/article/details/78192755)
以上为常用命令,下面为不常用命令
创建版本控制的目录。 1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。 2、每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。
注意:本子命令不会存储网络,并且会解除冲突的情况。但它不会恢复被创建的目录
1、更新工作副本,映射到一个新的URL,会将服务上的文件与本地文件合并。这是将工作副本对应到同一创库的某个分支或者标记的方法。 2、改写工作副本URL元数据,以反映URL的变更,创库URL变动但工作副本仍旧对映同一创库的同一目录时使用该命令更新工作副本与创库的对应关系。
注意:本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让path可以再次提交。
下载TortoiseSVN客户端下载地址,这个地址也提供了语言包的下载,选择需要下载的语言包,在安装完TortoiseSVN后安装语言包即可,图形界面使用简单使用指南,这里不想多说,可以参考此文章