4

我有模式svn:ignore datasheets/*/*.pdf
它应该忽略当前根文件夹下多个“数据表”目录下任意深度的所有pdf。

举个例子:说我有一个像这样的目录结构

网站
  -web1
    -数据表
      -在
        -忽略.pdf
      -是
         -NL
          -忽略.pdf
         -FR
          -忽略.pdf
          -ignore2.pdf
    -许可协议
      -important.pdf
  -web2
    -数据表
      -ETC

在这个例子中,模式需要忽略所有的ignore.pdf,而不需要考虑important.pdf。

显示的模式仍然包括我所有的 pdf 文件。

我知道有很多类似的问题,但似乎没有一个能够解决各种层次结构级别的问题。

4

4 回答 4

2

文档中

[U] 与global-ignores选项不同,在属性中找到的模式svn:ignore仅适用于设置该属性的目录,而不适用于其任何子目录。

您需要递归地将忽略模式应用于每个目录,您可以使用该--recursive选项来执行此操作。

于 2009-10-29T12:51:07.137 回答
1

您应该使用内置的global-ignores功能。忽略 svn 属性只能在一个级别上起作用,是的,如果要添加新文件夹,您必须更改它们或重新添加它们。

因此,请使用可以在本地配置中找到的 global-ignores 客户端功能 [在第 94 行附近,查找“global-ignores”。

本地配置可以在以下位置找到:

视窗:

%APPDATA%\subversion\config  

*尼克斯

~/.subversion/config
于 2009-10-29T14:05:42.913 回答
0

svn:ignore 仅适用于已设置的目录。要忽略子目录下的文件,您必须将此属性递归地应用于子目录。(-R 开关)。

请试试这个:

svn propset svn:ignore "*pdf" -R datasheets
于 2009-10-29T12:49:40.607 回答
0

我有 80% 的把握,你不能开箱即用地做你想做的事。查看提交后挂钩——您可以评估要添加的文件的路径名,如果它符合您指定的标准,则拒绝它。

于 2010-04-23T22:33:44.660 回答