我需要阻止用户在svn下提交一个特定文件,除非他们获得了锁定。我使用了svn:needs-lock属性,它做了我想要的,但是存在一个限制 - 用户无法在本地编辑文件以进行测试。这些是模型(DevEx - xml)文件,虽然合并它们是一个巨大的痛苦(因此需要锁定)我想让用户能够在本地修改文件,但阻止他们检查它没有锁定。
可以吗?怎么样?
答案 0 :(得分:0)
Subversion锁定的目的并不是严格阻止用户提交 - 这有助于防止用户在以后执行更新时本地编辑无法合并的文件。
SVN锁用于促进用户之间的通信 - 它们不是一个密不透风的“这个被锁定”的系统。如果您经常遇到与这些锁相冲突的开发人员的问题,则需要他们之间进行更好的沟通。
如果您的用户确实需要在本地编辑文件而不需要锁定,他们可以手动删除本地副本上的只读属性 - 只要他们了解这样做的后果(他们将无法执行此操作)更新/合并,直到他们revert
他们的本地更改。)
另一种方法是将您的模型设为“模板”,并要求用户为编辑目的制作本地副本。然后在完成更改后锁定,更新并提交模板,并准备与其他人共享。见the Subversion FAQ for more。但是你仍然会遇到合并问题。同样,沟通是解决方案,而不是软件。