sc create SVNserver binPath= "F:\SVN\Subversion\bin\svnserve --service -r F:/SVN/ROOT"
displayname= "Subversion" depend= tcpip start= auto
sc start svnserve
右键单击svnSetup.bat,选择以“管理员方式运行”即可
总结:主要原因仍是没有权限,在命令行时执行这个操作总是提示没有权限,而以管理员方式运行则避免了这个问题,相当迂回了一下吧。
客户端安装及开发流程
配置管理人员
创建工厂
svnadmin create F:\SVN\ROOT\student
在windows也可可以:
配置权限
创建用户
配置权限
PM创建并提交项目
- 项目经理创建项目并提交到svn工厂中(一般是客户端TortoiseSVN,而不是命令行)
-
- 安装客户端或者eclipse插件,安装成功后右键会出现两个svn菜单(有checkout)
-
- 点击student文件夹
填写项目地址,点击提交
我们发现认证失败
因为匿名用户是禁止访问的,我们可以修改F:\SVN\ROOT\student\conf下的svnserve.conf文件,如图
修改Anonymous权限为可读也可写。当然匿名用户肯定不可让他访问,这里为了方便演示。注意空格。以上就完成项目经理的导入。
- 点击student文件夹
开发人员checkout检出项目
我们新建开发人员文件夹来模仿开发端如下:
点击OK会发现开发人员01下已经有了所有的项目信息。
开发人员02也一样。Commit与update很简单就不说了。
冲突问题
01修改了jsp,添加了第三行,然后提交到svn
02修改了jsp,添加了第二行,也提交,此时
02提交时,提示已经过时,要先更新。
点击OK,更新
提示冲突。并且发现多了三个文件
打开看下:
第一个index.jsp.mine: 这是我的(当前提交人02)
Index.jsp.r2:这是我的(当前提交人02)原始版本
Index.jsp.r3:我们发现这个和01的一样,其实这就是01的。
最后我们打开index.jsp,带有感叹号的冲突文件。
上边清楚的爆出我和r3的冲突,即02和01我们修改冲突:然后删除掉多出的三个文件,然后发现index.jsp变成了红色的图标。
提交即可
然后用01去更新一下看。
01也变成了刚刚02修改合并后的
总结
- 冲突产生的条件:两个或多个开发人员共同修改了一个文件之后并且提交会产生冲突。
- 如何避免冲突:
1 修改代码之前先进行更新。(不能保证不冲突,但是前提)
2 项目经理分配任务的时候需要独立考虑,为不同的人分配不同的模块,这样尽可能避免冲突。
Showlog
查看日志:这是我们对这个文件的修改记录。