继承了哪些文件夹属性

时间:2013-02-28 15:23:43

标签: svn tortoisesvn

对于我们的项目,我们有一些svn属性应该应用于repo中的所有文件夹。例如bugtraq:xxxsvn:ignore属性。

在创建和添加新文件夹到repo时,bugtraq:xxx属性将应用于新文件夹,但svn:ignore不是......

为什么?

修改 所以我要添加一个树例子:

[Root]
   |-- Admin [no props]
   |-- Software [no props]
         |-- MySoftwareProject [B (=Bugtraq)]
               |-- tags [B]
               |-- branches [B]
               |-- trunk [B]
                     |-- Folder_A [B & I (=Ignore)]
                     |-- Folder_B [B & I]
                           |-- New_Folder_C [B]

好的,所以当我创建&添加New_Folder_C它会自动获取Bugtraq但不会svn:ignore

3 个答案:

答案 0 :(得分:7)

Subversion 1.8客户端的新功能

Subversion 1.8客户端有两个新的标准属性:

  • svn:global-ignores
  • svn:auto-props

这些属性可继承。也就是说,当您在父目录上设置其中一个属性时,它也适用于所有子目录。这允许您创建一种设置自动属性和项目范围全局忽略的新方法。

这将解决您的问题。但是,您必须确保每个人都使用最新版本的TortoiseSVN才能利用这一点。

我还建议您使用我的pre-commit hook,它可以强制使用文件和目录的属性。除非在提交中添加或修改的所有文件上正确设置了属性,否则此挂钩将拒绝注释。

答案 1 :(得分:3)

在Subversion中,属性永远不会被继承。您可以在设置属性时单击“递归应用属性”复选框,TortoiseSVN将自动在每个降序文件夹上复制属性,但这只是Subversion客户端提供的省时功能。

bugtraq:属性系列是custom feature implemented by the TortoiseSVN and Subclipse development teams。发生的事情是TortoiseSVN一旦在工作副本的根文件夹中找到给定的标签就会使用bugtracker功能 - 不需要在每个文件夹上都有该属性。

svn:ignore不是这种情况,因为它是一个标准的Subversion属性,而且它是如何设计的。

答案 2 :(得分:2)

TortoiseSVN可能正在使用名为auto props的SVN功能。你也可以在TortoiseSVN文档中看到它们here,因为还有特殊的tsvn:autoprops