我的svn有什么问题:忽略模式?

时间:2009-10-29 10:55:55

标签: svn svnignore

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

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

Websites
  -web1
    -dataSheets
      -AT
        -ignore.pdf
      -BE
         -NL
          -ignore.pdf
         -FR
          -ignore.pdf
          -ignore2.pdf
    -licenseAgreements
      -important.pdf
  -web2
    -datasheets
      -etc

在这个例子中,模式需要忽略所有的ignore.pdf,而不是同时使用important.pdf。

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

我知道有很多类似的问题,但它们似乎都没有解决各种层次结构的问题。

4 个答案:

答案 0 :(得分:2)

来自the documentation

  

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

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

答案 1 :(得分:1)

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

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

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

窗口:

%APPDATA%\subversion\config  

* nix中

~/.subversion/config

答案 2 :(得分:0)

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

请试试这个:

svn propset svn:ignore "*pdf" -R datasheets

答案 3 :(得分:0)

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