svn加锁功能
今天在项目开发中,我们需要数据库设计,多个人参与的问题。但是,多个人同时修改数据库设计就会出现问题,产生冲突,怎么办?
项目管理采用svn来管理,我们可以采用svn加锁的功能实现。
锁
严格加锁:所有签出的文件都是只读的,任何对文件的修改必须要获得文件的锁,如果其他人没有拥有该文件的锁,那么版本控制系统就会授权给你文件的锁,并将文件设置为可编辑的。
乐观加锁:所有签出的文件都是可读写的,对文件的修改不必获得文件的锁,当你修改完文件签入时,会首先要求你更新本地文件,版本控制系统不会覆盖你的本地修改,而是会让你自己合并冲突后签入。
二个锁的说明可以看到,我们要采用严格加锁才可以实现我们的要求的。
具体实现
svn默认乐观加锁策略。怎么改变为严格加锁?
如果我们想对某个文件或某个目录采取严格加锁策略,更明确的说是:所有文件默认为只读,在文件修改前需要先获取锁,只有其他人不拥有锁时才可以锁定文件并修改。
要实现严格加锁,就需要使用SVN的svn:needs-lock属性。
操作步骤
在想要采取严格加锁的文件或目录上点击右键,使用TortoiseSVN Properties属性菜单,点击News新建属性,选择Needs-lock:
设置为Locking required,签入属性修改操作,可以发现文件的图标状态改变了,并变为只读:
这样就可以保证你在修改文件的时候,文件保持只读属性,直到你解除锁,别人才可以修改。完美!
欢迎关注