svn 介绍 

    SVN, 即SubVersion, 是一个自由开源的版本控制系统, 可以将数据恢复到早期版本,或者检查数据的修改历史, 这些数据可以是源代码, 也可以是其他类型的文件。

     

    svn功能:

    1、根据文件修改的次数自动增加版本号以便找回历史文件

    2、防止多人开发时同时修改一类文件导致文件覆盖或被删除

    适应多个合作开发项目

     

    注意:

    防火墙需要添加3690端口

    本地连接需要添加3690端口

    本地连接》》状态》》属性》》tcp/ip协议》》属性》》高级》》选项》》属性》》启用TCP/IP删选》》只把你需要的端口填上去其余都不要就可以了 

     

    安装:

    到网站下载安装包 例如:

    http://nchc.dl.sourceforge.net/project/tortoisesvn/1.7.6/Application/TortoiseSVN-1.7.6.22632-x64-svn-1.7.4.msi

    目前是最新的,跟据安装提示 下一步即可

     

    服务端安装 

    可以在任意一下位置新建一个空的文件夹 右击选择TortoiseSVN → Create Repository here

    提示成功以后, 可以看到文件夹多了几个文件和文件夹

    conf 配置文件

    conf/authz    权限配置  

     

    conf/passwd   用户账号密码配置

    打开文件添加一个用户名为:username 密码为:password

    例如:

    [users]

    # harry = harryssecret

    # sally = sallyssecre

    username = password

     

    conf/svnserve.conf   服务端主要配置

    打开文件查看

    anon-access = read   匿名用户的权限配置,默认用户拥有读的权利

    password-db = passwd  去掉前面的空格#, 允许使用用户名密码访问

     

    启动服务 打开cmd 输入:

    svnserve.exe -d -r D:\www\item\serve

    D:\www\item\serve 代表SVN服务端库目录

    没有启动服务 svn检出  svn://127.0.0.1  将会出错

     

    将服务加到自动启动中

    cmd 输入以下命令

    sc create svnserve binpath= "D:\Program Files\TortoiseSVN\bin\svnserve.exe --service --root D:\www\item\serve"

    注意:=后台必须加一个空格  双引号是包含binpath 里面的内容, 而不是单纯的路径

    D:\Program Files\TortoiseSVN\bin\svnserve.exe  SVN安装目录

    D:\www\item\serve 代表SVN服务端库目录

     

    删除服务

    如果要删除一个系统服务,可以使用 SC delete [服务名称],比如删除messager服务,输入SC DELETE MESSAGER

     

    取消记录用户名

    若本地记住了SVN的用户名和密码, 当需要使用别的账号时, 无法更改账号, 使用以下方法可以切换账号, 打开C:\Users\fegrace\AppData\Roaming\Subversio\   删除auth 文件夹即可

     

    不允许匿名用户登陆

    修改配置文件 conf/svnserve.conf

    # anon-access = read 修改为

    anon-access = none  

    注意password-db = passwd  需要开启

     

    权限配置

    打开权限 修改配置文件 conf/svnserve.conf

    authz-db = authz 去掉前面的空格#

     

    修改配置文件 conf/authz

    添加用户组 在[groups] 下面一行添加

    admin = fegrace0,fegrace1  

    admin 为用户组中, fegrace0,fegrace1为用户 多个用户用逗号分开 

     

    设置权限

    [/]    #权限目录

    @admin = rw   #@admin 代表admin用户组 rread 读 wwrite 写   

    fegrace2 = rw  #单个用户设置权限

    * = r   #其他用户设置权限

     

    各参数定义如下:

    anon-access :定义非授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 read 。

    auth-access :定义授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 write 。

    password-db :定义保存用户名和密码的文件名称,这里为 passwd ,和该文件位于同一目录。

    authz-db :定义保存授权信息的文件名称,这里为 authz ,和该文件位于同一目录。

    realm :定义客户端连接是的“认证命名空间”, Subversion 会在认证提示里显示,并且作为凭证缓存的关键字。