预防svn版本冲突文件无法签入的解决方法

使用svn经常出现版本冲突导致文件无法签入的问题,原因是同一个文件多个人可以同时修改,一个人先签入,其他人再签入就提示版本冲突签入不成功:



总结了下,svn出现版本冲突的原因有两个:

·文件修改前没有Update,在旧版本基础上进行修改;
·文件修改前有Update,但没用Get lock,其他人比你先修改并Commit;

预防svn版本冲突文件无法签入的解决方法

针对上面总结的原因,修改文件时应该按以下的流程进行:



注意:当Get lock失败时,一定不要去修改文件。联系lock该文件的成员,等他Commit或Release lock后重新Update和Get lock才可以修改。



为防止Get lock失败修改文件情况的出现,可将文件设置成readonly,强制必须Get lock成功后才能修改。

设置文件为readonly步骤

①.右击文件(可多选),在弹出菜单中选择"TortoiseSVN→Properties":



②.点击New按钮,添加Needs-Lock:







③.Commit后文件设置readonly完成[1][2],让其他成员都Update;

补充说明

[1].有时Commit后,文件图标不会变成readonly状态,这时看下文件属性,是只读就可以了:



[2].设置readonly后Get lock时,若有新版本会提示先Update再Get lock,这就和vss一样方便了,但这样带的问题是万一svn服务器挂了,所有成员将不能Get lock也就无法工作了。

评论: 0 | 引用: 0 | 查看次数: 5280
发表评论
登录后再发表评论!