我可以覆盖单个目录的svn:ignore吗?

我可以覆盖单个目录的svn:ignore吗?,svn,svnignore,Svn,Svnignore,Subversion的默认全局忽略功能很好地防止了版本控制中的构建工件。如果我需要分发一个编译代码目录来构建我的东西呢 我不想获取我的输出(比如,/target),我想继续忽略大多数其他项目的所有编译代码,但只有一个目录(比如,/input)需要始终跟踪扩展名为.a的文件 是否可以在/input目录上设置属性,使svn add拾取新的.a文件,而不改变全局忽略属性?svn:ignore设置是每个目录的属性。它应用于给定目录,并添加到global ignores设置,而不是覆盖该设置。请参阅SVN

Subversion的默认全局忽略功能很好地防止了版本控制中的构建工件。如果我需要分发一个编译代码目录来构建我的东西呢

我不想获取我的输出(比如,
/target
),我想继续忽略大多数其他项目的所有编译代码,但只有一个目录(比如,
/input
)需要始终跟踪扩展名为
.a
的文件


是否可以在
/input
目录上设置属性,使
svn add
拾取新的
.a
文件,而不改变全局忽略属性?

svn:ignore设置是每个目录的属性。它应用于给定目录,并添加到
global ignores
设置,而不是覆盖该设置。请参阅SVN手册中的

我想说你有两个可行的选择:

  • 不要在
    全局忽略设置中包含
    *.a
    ,而只在这些文件可能出现的目录(如
    /target
    )上的
    svn:ignore
    属性中设置它
  • 全局忽略
    设置中保留
    *.a
    ,并手动调用要跟踪的每个
    .a
    文件上的
    svn add
    。一旦SVN跟踪它们,忽略设置将不再适用于它们

  • 对,但是说不要忽略(这个模式)的语法是什么?我的意思是,如果它已经被忽略,我如何“取消忽略”它?从svn:ignore属性中删除它。svn propedit svn:ignore告诉“这些模式严格适用于那个目录,它们不会递归地携带到子目录中。”很抱歉,一开始我没有正确理解这种情况。我修正了我的答案。我不认为理想的解决方案是存在的,但是你可以对上面的任何一个建议感到非常满意。我试图在最初的问题中澄清这一点。。。我知道这两种选择,它们都有足够的缺点,如果可能的话,我想避免它们。如果这些是唯一的选择,我只想看到它以黑白的形式出现。