Subversion使用“锁定-编辑-解锁”模型
2011-05-23 10:58
197 查看
转载:http://www.uml.org.cn/pzgl/200901098.asp Subversion使用与CVS相似的工作模型,也就是“拷贝-修改-合并”,但是有时候还是很有必要使用“锁定-编辑-解锁”模型,例如对于二进制文件,或者其他不太适合合并的文件。 属性在《使用Subversion进行版本控制》这本书里也被称为元数据,是附加到版本控制下的文件之上的属性,就像最后的修改日期是一个文件的属性一样,你可以为Subversion控制之下的文件和目录设置自定义的属性。关于属性的详细信息可以看:http://www.subversion.org.cn/svnbook/1.2/svn.advanced.locking.html#svn.advanced.locking.lock-communication。 在Subversion 里是通过内置的属性“svn:needs-lock”实现“锁定-编辑-解锁”模型的,例如我们有一个word文件“介绍.doc”,大家很清楚Word 文件是二进制格式(据说以后都是XML的,但是可能也无法灵活的合并),不可能使用“拷贝-修改-合并”模型,所以我们要使用“锁定-编辑-解锁”模型。你可以将它设置属性“svn:needs-lock”,然后提交,之后其他人在更新这个文件的时候,就会得到一个只读的文件,他们想修改这个文件必须首先获得锁,获得锁的过程会将文件置为可写,而其他人此时如果想得到锁就会发现做不到,只有得到锁的人放弃锁定,别人才能得到锁,继续工作。下面分别讲述了如何使用svn命令行和TortoiseSVN设置锁和使用锁。 1) 设定“svn:needs-lock”属性 使用命令行锁定“介绍.doc”: svn propset svn:needs-lock 'x' 介绍.doc 运行这个命令后,“介绍.doc”就已经是设置了“svn:needs-lock ”,但为了使之生效还要运行“svn commit”,之后其他用户update的时候就会发现这个文件已经是只读的了。需要注意的是我们设置的属性值是“x”,实际上任意值都可以, Subversion会忽略其内容。 使用TortoiseSVN设定属性也很简单: “介绍.doc”右键选中- >属性->Subversion选项夹->properties->add,然后在弹出的窗口中的property name选择“svn:needs-lock”,值任意,然后选择OK。之后再提交“介绍.doc”即可。 2)获取锁 在设定了这个属性之后,我们要想修改“介绍.doc”,就必须首先获得锁,使用命令行操作如下: svn lock 介绍.doc 这样“介绍.doc”就变成了可写文件,你可以进行编辑修改了,这个时候如果有人和你一样期望获得这个文件的锁就会得到错误的提示,表示文件已经被你锁定了。 使用TortoiseSVN的操作依然简单,“介绍.doc”右键选中-> TortoiseSVN -> Get Lock... ,然后输入锁定的注释,选择“OK”,既完成了锁定。 3)释放锁 当你完成了修改,选择提交后,默认就会释放锁,别人就可以重新获得锁。当然你也可以放弃修改,直接选择释放锁,操作如下: svn unlock 介绍.doc 这样“介绍.doc”就重新变成只读,别人就可以获得锁并进行修改了。 使用TortoiseSVN的操作为,“介绍.doc”右键选中-> TortoiseSVN -> Release Lock,然后选择确认即可。 |
相关文章推荐
- Subversion使用“锁定-编辑-解锁”模型
- 使用SVN的“锁定-编辑-锁定”模型
- 教你zbrush模型编辑工具的使用方法
- 将3DMax编辑的动画,导入给已经绑定蒙皮好的模型给Unity使用
- 使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- TFS 使用命令强行解锁被锁定的文件或文件夹
- [技巧分享-window10系统]Window10 锁定和解锁编辑注册表
- CentOS、Redhat中锁定、解锁软件包版本的方法(yum versionlock使用详解)
- 使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- Postgres使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- 使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- “不能初始化PHOTOSHOP,因为该文件已锁定.在WINDOWS资源管理器中使用属性命令来解锁文件”的解决办法
- 使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- GridView控件编辑、更新、删除示例(更新包含有DropDownList控件使用)、导出Excel
- 递归打印XML文档树-使用w3cDOM模型解析
- 在Windows XP下是否可以使用Ctrl+Alt+Del键锁定计算机?
- 用Elixir在多个文件用编辑数据库模型
- 使用Chrome控制台进行3D模型编辑的尝试
- 使用PowerDesigner建立数据库模型【转】
- UltraEdit 和Notepad++ 使用ftp直接编辑linux上文件