SVN设置必须锁定

  SVN是一个开放源代码的版本控制系统,相信做开发的基本上都用过,这里就不多介绍了。团队协作开发时常常会出现提交的文档互相冲突的问题,这里给大家介绍一下给SVN文件设置必须锁定的方法,当然你也可以对冲突文档进行合并处理,这个就需要人工处理了。  

  项目中操作:右击项目解决方案->Solution File->Subversion Properties->Add->选择"svn:needs-lock"->OK.

  文件上操作:右击项目文件夹->TortoiseSVN->Properties->New->Needs-Lock->Locking required(read-only update) ->OK->OK.

  这种方式属于"锁定-修改-解锁"模型,在这种系统中,在同一时间版本库只允许一个用户修改一个文件。缺点就是限制太多,经常会成为用户的障碍。

缺点:

  • 锁定可能导致管理问题。有时候 Harry 会锁住文件然后忘了此事,这就是说 Sally 一直等待解锁来编辑这些文件,她在这里僵住了。然后 Harry 去旅行了,现在 Sally 只好去找管理员放开锁,这种情况会导致不必要的耽搁和时间浪费。
  • 锁定可能导致不必要的线性化开发。如果 Harry 编辑一个文件的开始,Sally 想编辑同一个文件的结尾,这种修改不会冲突,设想修改可以正确的合并到一起,他们可以轻松的并行工作而没有太多的坏处,没有必要让他们轮流工作。
  • 锁定可能导致错误的安全状态。假设 Harry 锁定和编辑一个文件 A,同时 Sally 锁定并编辑文件 B,如果 A 和 B 互相依赖,这种变化是必须同时作的,这样 A 和 B 不能正确的工作了,锁定机制对防止此类问题将无能为力—从而产生了一种处于安全状态的假相。很容易想象 Harry 和 Sally 都以为自己锁住了文件,而且从一个安全,孤立的情况开始工作,因而没有尽早发现他们不匹配的修改。

  说明:以上内容摘自TortoiseSVN帮助文档.

  晓菜鸟一直想让SVN在提示文档被锁定时能够提示出被锁定的作者和具体时间,可是在本地设置了SVN关键字之后也没有效果,希望知道的园友能够指点一下,欢迎评论指出,感激不尽!:)

时间: 2024-10-18 09:38:30

SVN设置必须锁定的相关文章

svn 设置强制要求注释

在svn的库数据文件的hooks文件夹下面 有pre-commit.tmpl,我们把它备份一下pre-commit-bk.tmpl, 然后新增加一个 pre-commit.bat,里面填入如下脚本 即可. @echo off setlocal set REPOS=%1 set TXN=%2 rem check that logmessage contains at least 5 characters svnlook log "%REPOS%" -t "%TXN%"

svn 设置文件可执行权限

本地文件在commit到仓库之前若没有chmod +x 权限的话,那在svn仓库里的文件将会保持当前无可执行属性状态. 即使在本地chmod +x filename 之后,再提交到仓库也是没有用的.check out到其他目录的时候,文件仍然没有可执行权限. 需要使用svn 设置文件属性,如下 linux: svn propset svn:executable on * svn commit -m "" Hiviewxxx windows: 右键 - > propeties -&

svn设置提交忽略某些文件或文件夹

在svn客户端,想设置忽略提交.class文件,通过 properties > New > Other 添加一个忽略的属性,,还是不行:部分屏蔽了,部分class还是在列表中 再次参考了一下:Settings > General > Global ignore pattern 添加了一个 *.class就行了. 转载一下:svn设置提交忽略某些文件或文件夹 from:http://blog.csdn.net/hemingwang0902/article/details/690420

【SVN】SVN设置日志提交限制和日志模板设置(windows下)

1.SVN设置日志提交限制 服务器中安装的VisualSVN Server ,在新增Repositoreis时,每个Repositoreis(即新建的项目)下都会有一个hooks(钩子程序)在hooks目录下有一些tmpl文件,作为不同的hooks操作 新建一个pre-commit.bat文件,文件内容如下: @echo off setlocal set SVN_BINDIR=C:/Program Files/VisualSVN Server/bin/ set REPOS=%1 set TXN=

给SVN设置代理

XP系统在C:\Documents and Settings\Administrator\Application Data\Subversion目录下 win7及以上系统在C:\Users\admin\AppData\Roaming\Subversion目录下 PS:最好显示隐藏的文件,方法参见:http://www.cnblogs.com/fanqf/p/9012706.html 1.在server配置文件下找到[global]节点 然后取消下面行的#号(#号为注释)http-proxy-ho

SVN三部曲之SVN设置详解深入

想知道不同的设置是干什么用的,你只需将鼠标指针在编辑框/选项框上停留一秒钟...一个帮助提示气泡就会弹出来. 常规设置 图 4.68. 设置对话框,常规设置页面 这个对话框允许你指定自己喜欢的语言,同时也可做那些与Subversion相关的特殊设置. 语言 Selects your user interface language. Of course, you have to install the corresponding language pack first to get another

TortoiseSVN设置自动锁定功能 [转载]

在开发过程中,由于没有自动锁定,遇到不是特别细心的组员有可能没锁定就进行更改,会造成管理上的麻烦,为了避免这种情况我们特意加入一个设置,步骤如下: 1:在任意文件夹下右击空白处,弹出的菜单选择[TortoiseSVN]-->[设置] 2:在弹出的对话框中选择右边的[编辑]按钮后弹出一个文本对话框 3:将以下内容拷贝到文本的最后面 [code text] enable-auto-props = yes *.* = svn:needs-lock=* * = svn:needs-lock=* [/co

SVN设置

1 提交时如果不写备注无法提交 步骤1:打开config文件 桌面右键-->选择"tortoiseSVN"-->settings(设置)-->单击"edit(编辑)" 步骤2:修改config文件 找到[miscellany]节点,将enable-auto-props = yes前面的#去掉-->找到[auto-props]节点,加上* = svn:needs-lock 已修改好的config文件 注意问题 "enable-auto

mac SVN 设置代理

1. 设置代理一种方法:Finder 菜单里面 -> 前往 -> 前往文件夹 -> /Users/username/.subversion -> 编辑文件 servers 在文件的 [global] 下面加入代理:http-proxy-host = 123.sample.company.nethttp-proxy-port = 80 另一种方法:打开终端vim ~/.subversion/severs在[global]节点修改如下http-proxy-host = 127.0.0.