Svn 是否可以将Subversion文件标记为选择性签出/访问/可见性?

Svn 是否可以将Subversion文件标记为选择性签出/访问/可见性?,svn,Svn,您好,我有一个subversion存储库,希望能够将某些文件标记为对某些用户或某些配置可用/可见/可访问。本质上,我们希望根据指定的角色对签出/分支/标记等中存在的文件进行细粒度控制 我假设有某种方法可以在服务器上设置基于用户的可见性,但也认为可以使用特定的文件/文件夹属性。是否已经存在针对该用例的解决方案,或者是否存在使用本机SVN工具的智能解决方案?有一种方法,至少是在每个目录的基础上进行设置。有了它,您可以将签出和提交更改的能力设置为两个单独的访问。例如,某人签出(读取)代码,但不提交更改

您好,我有一个subversion存储库,希望能够将某些文件标记为对某些用户或某些配置可用/可见/可访问。本质上,我们希望根据指定的角色对签出/分支/标记等中存在的文件进行细粒度控制


我假设有某种方法可以在服务器上设置基于用户的可见性,但也认为可以使用特定的文件/文件夹属性。是否已经存在针对该用例的解决方案,或者是否存在使用本机SVN工具的智能解决方案?

有一种方法,至少是在每个目录的基础上进行设置。有了它,您可以将签出和提交更改的能力设置为两个单独的访问。例如,某人签出(读取)代码,但不提交更改(写入),而其他人可以签出并提交更改(读取和写入)

如果您不介意可见性,只想控制提交更改的能力,那么可以使用my hook

此挂钩将允许您将权限分配到文件级别,并将使用LDAP/Windows Active Directory组获得权限

大多数情况下,我发现我可以使用LDAP设置来限制哪些组可以访问特定的存储库(例如,只有QA中的开发人员和人员才能查看存储库),但一旦这样做,只要您可以定义谁可以进行更改,就没有人关心使单个目录或文件对其他人不可见。我的钩子能做到


我更喜欢使用单独的存储库(可以由单个Apache实例提供服务)让一个组的目光远离另一个组的文件,而不是试图使用Subversion的访问控制来做到这一点。

具体来说,我想做的是能够拥有一个签出/分支/标记,该标记只包含我们想要用于给定角色的文件子集,并且能够逐个文件地维护该文件子集。最终,这些文件将作为一个集合部署给外部开发人员。一个示例用法可能是在给定用户下进行签出,并使签出的文件仅包括具有给定属性的文件。在Subversion中,无法通过属性执行此操作。毕竟,属性本身就是版本信息。一个版本可能有属性,而另一个版本没有。这就像是根据文件内容签出文件。David我没有发现基于文件内容的签出有任何不一致之处。如果签出附加了某个“角色”,则可以使用任何方法生成与该角色关联的文件列表,并且subversion引擎完全可以使用文件内容。元数据更容易访问,因为它直接存储在存储库中。必须检查和处理每个文件会降低签出速度。另外,如果那个财产消失了呢。该用户仍然可以访问旧版本吗?一个有权限的人能仅仅通过放置一个特殊的属性来给别人权限吗?有人可以通过删除该属性来拒绝访问。所有用户都能这样做吗?您如何防止可能导致这种情况的更改?设计一个版本控制系统来实现这一点是可能的,但我所知道的版本控制系统都没有。(续)(续)记住这是版本控制。如果有人做了不应该做的更改,您可以随时恢复。没有人可以匿名做出改变。他们的名字在每一次更改上都贴上了。这本身就是对过程的约束。如果有人无权做出改变,而他们确实这样做了,他们可能会为此付出代价。在我担任CM的这些年里,我很少看到有人做他们不应该做的事情。锁太多的门,你花在锁和开锁上的时间比完成实际工作要多。你的员工都是专业人士。这样对待他们。