SVN不允许通过外部编辑进行编辑

时间:2014-04-04 13:48:23

标签: svn

在SVN中,有没有办法禁止对作为外部本地存在的文件所做的更改提交?

我想强制我的用户签出实际文件,进行更改并在那里提交。然后他们可以测试该文件的每个已知订阅项目,以确保它们没有破坏。

1 个答案:

答案 0 :(得分:0)

不是真的。我有Precommit Hook可能有效。

不幸的是,当您编辑外部目录时,svnlook无法区分它是否是外部目录。我相信早期版本的SVN并没有让你直接编辑外部因为我记得这似乎是默认行为(我在这里谈论的是1.2和1.3)。

但是,您可以使用此挂钩来阻止用户在看起来像外部的目录下编辑文件。

假设您有http://svn.vegicorp.com/repo/trunk/commonhttp://svn.vegicorp.com/repo/trunk/foomaster中使用的项目http://svn.vegicorp.com/repo/trunk/barmaster。外部在这些项目下的common目录下:

[file You cannot edit an external directory. Please checkout http://svn.vegicorp.com/repo/trunk/common to edit that file]
file = /trunk/*/common
access = read-only
users = @ALL

[file You cannot edit an external directory. Please checkout http://svn.vegicorp.com/repo/trunk/common to edit that file]
file = /branches/*/*/common
access = read-only
users = @ALL

[file Good for you! You checked out http://svn.vegicorp.com/repo/trunk/common ]
file = /trunk/common/**
access = read-write
users = @ALL

[file Good for you! You checked out http://svn.vegicorp.com/repo/trunk/common ]
file = /branches/*/common/**
access = read-write
users = @ALL