一、简介
二、windows下svn的开启与关闭
三、svn中五种图标代表的含义
四、案例
删除服务器文件
历史版本的找回
五、权限控制
我们来看看默认情况下匿名用户能做哪些事:
匿名用户可以查看svn的代码库,这是一个很严重的问题
匿名用户不仅可以查看,还可以将svn代码库中的内容checkout下来
幸运的是,svn默认不允许匿名问题commit
现在要做的,禁止匿名用户
修改配置文件 代码库下 vi conf/svnserve.conf
改为
再来看看匿名用户的操作
实现了对匿名用户的限制操作
———————————————— 华丽的分隔线 ——————————————
sc create SVNService binpath= "E:\Subversion\bin\svnserve.exe --service -r E:/server"
server即为版本库 该版本库中又一个项目,现在来对其进行权限控制
project
a
aa.php
b
bb.php
c
a.php
b.php
权限分配时,应遵守从根目录到子目录、从设置最广泛权限到最精细权限、从只读权限到读写权限设置原则,即从根目录开始设置最广泛的访问权限,然后逐步设置下属子目录的访问权限
现有用户 admin,user1,user2
所有的用户对项目下的所有文件都有读的权限
admin能够对所有的文件进行读写
user1 只能对a目录下的文件进行读写
user2 只能对b目录下的文件进行读写
进行配置:
首先编辑配置文件 vi svnserve.conf
20行 password-db = passwd
17行 authz-db = authz
前面的#去掉 意思是开启用户登陆及用户权限配置
打开版本库中conf目录下的passwd
打开版本库中conf目录下的auth
[groups]
project1 = admin
[/]
* = r
@project1 = rw
[/a]
user1 = rw
[/b]
user2 = rw
————————————— 历史版本的找回 ———————————————
——————————— 版本冲突的解决 ———————————————
我用user1、user2做实验
首先来看看什么样的情况下会发生版本冲突:其实也就一句话,试图用低版本的文件去覆盖高版本的文件
我先把user1、user2两把的版本统一一下
现在开始在user1中修改一个文件,但是不进行commit
现在开始在user2中修改同名文件,并上传
可以理解为 两个人同时修改同一个文件,user2先改好然后上传了,然后user1也修改好并进行上传,这时候就会出现版本冲突
这时候可以选择update 与版本库的版本进行统一,放心,他不会覆盖你修改的文件,会自动生成多个版本的文件
我一般
直接进行修改
当然,实际开发中需要user1,user2协商好
六、windows下设置开机自启动
sc create svnserve binpath= "E:\Program Files\Subversion\bin\svnserve.exe --service --root E:\server"
转载于:https://blog.51cto.com/1760513/949724