所以为了避免如上的情况,我们通过SVN可以采取对文件加写锁的 *** 作。文件加写锁后,想要修改文件的话,要先进行get lock *** 作来获取锁(获取 *** 作权),若此时有他人获取锁(在 *** 作),那么会提示获取锁失败,并且提示xxx占用锁。
当然 会出现这样一种情况:
假设占用锁的人将该文档在本地checkout了N份,忘记了是哪个拿的锁 这时怎么办?SVN替我们想到了这一点,故可以强制获取锁steal the loks(当然在你与同事沟通后)
具体 *** 作如下:
你要先想清楚你所需要的“强制加锁”是什么?如果是说在修改一个文件前必须加锁,不加锁就不能修改?如果是想实现这个,那可以很明确的告诉你:不行。
SVN的钩子里没有与update有关的钩子,所以无法在update是自动加锁,只能手动加锁。
我估计你是遇到了频繁的冲突,要避免这个问题,关键在两点:
1、合理的系统框架和文件夹结构,尽量避免不同人员的工作成果放在同一个文件里;
2、养成良好的习惯,在每次动手改一个文件前,一定先做一次update。
svn支持并行的修改 这是它的优势,冲突只对同一个文件同一个版本同一个地方修改才会产生。有冲突说明你们对同一个地方的修改是不同的,这样解决冲突要比你修改完了别人再覆盖你的要好。当然,如果想禁止,可以用TSVN右键--锁定 来 *** 作,当然提交后自动解锁(也可以保持锁定)。
建议
1、只锁定二进制类型的文件(比如图片、声音、视频等无法自动合并的文件,只能覆盖)。
2、完全模块化的编程,每个文件只允许一个人修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)