Eclipse 可以使用的 SVN 插件在市面上主要有两种:
博主试过了,2020-3 版的 Eclipse 没有可以用的 Subversive 版本,所以在这里选择安装 Subclipse。
创建资源库位置,即配置 SVN 服务器地址:
某些文件不纳入版本控制
在 Window->Preferences->Team->Ignored Resources->Add Pattern 进行配置:
基本的操作可以右键资源项目->Team->相关菜单项。
这里就演示下分享工程与检出工程。
新建一个工程后,工程右键->Team->Share Project
检出后本地有两个项目,相当于多个用户,而制造冲突与前文的方法类似,这里不再赘述。
冲突的产生
解决冲突
前文介绍的不使用分支是多人之间的协作,而分支开发是团队或小组间的协作。
在版本控制过程中,可以通过多个分支同时推进项目多个不同功能的开发,任何一个分支上功能开发失败都不会对其他分支造成影响。
相关目录
创建代码分支
Merge a range of revisions方式
主干项目右键合并,选择 Merge a range of revisions 方式
Merge two different trees方式
主干项目右键合并,选择 Merge two different trees 方式
合并的时候以选择的分支版本为主,如果选择的主干版本与分支版本有不同的地方,合并时主干部分将被删除。
由于前文主干与pay分支合并后有新的文件,所以主干需要选择之前的版本:
主干与分支同步开发,需要将主干新增与修改同步到分支中来。
Merge a range of revisions方式
如图,本地的pay分支同步到了主干与Skin分支合并后的文件 Skin.java 以及新建的文件 Main2.java:
Merge two different trees方式
如图,本地的skin分支同步到了主干与pay分支合并后的文件 Pay.java 以及新建的文件 Main2.java:
之前我们有在版本库中的 svnserve.conf 文件,修改过权限,使我们匿名的进行读写。
anon-access = write
//auth-access = write
//修改为如下
anon-access = none //设置后可查看历史记录
auth-access = write
还可以加入如下配置,指明配置文件:
password-db = passwd //指定设置用户名密码文件
authz-db = authz //分配权限的配置文件
之后我们就可以通过修改 passwd 文件设置用户名密码,以及通过 authz 文件进行权限的分配:
passwd 文件
//官方的示例:
[users]
harry = harryssecret
sally = sallyssecret
//格式:用户名 = 密码
//以下用于测试
tom = 123456
jerry = 123123
authz文件
//官方的示例
[groups]
harry_and_sally = harry,sally
harry_sally_and_joe = harry,sally,&joe
//格式:用户组 = 用户,用户
//以下用于测试
mygroups = tom //用于测试
//======================================================
//官方例子
[/] //目录
harry = rw //格式:用户名 = 权限值
&joe = r //格式:@用户组 = 权限值
* = //除了授权的用户以外其他用户没有任何权限
//以下用于测试
@mygroups =rw
jerry = r
* =
保存以上的配置后,eclipse中重新连接就会需要我们输入用户名密码:
使用 jerry 用户登陆,之后我们修改任意文件进行提交,就会出现权限不够的错误:
而删除登陆过的用户信息,需要到如下目录的auth中删除相关文件:
C:\Users\MOKE\AppData\Roaming\Subversion\
最后我们测试 tom 用户,删除信息重新提交文件,会提示重新登陆:
查看历史记录