木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2012-10-30 👁 6247 👍 0 💬 0 🔄 来源:本站原创
使用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)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 C# Unicode编码/解码方法 下一篇 → 五种开源协议比较BSD/Apache/GPL/LGPL/MIT