在subversion中排除带有模式的子目录

时间:2008-12-18 17:55:06

标签: svn

我想在subversion中按模式排除子目录,因为我们使用的开发工具正在生成它们。获取工具在其他地方生成目录不是一种选择。我们不想编辑〜/ .subversion / config中的global-ignore属性,因为很难保持与此的一致性。我们试图排除的目录如下所示:

rootdir
  |-> dir1
       |-> dirToExclude
  |-> dir2
       |-> dirToExclude

我想在dir1和dir2中排除dirToExclude。可以使用svn:在rootdir上忽略而不必将svn:ignore添加到dir1和dir2吗?

2 个答案:

答案 0 :(得分:3)

  

可以使用svn:root on rootdir

完成

没有。 svn:ignore具体是递归应用,但仅限于当前文件夹。由于每个文件夹都拥有自己的版本控制信息,因此不会将任何内容传播到子文件夹。见The Red Book, Chapter 7., Properties,脚注29。

这实在是非常不幸;我宁愿自己有一个.htaccess的属性传播。

答案 1 :(得分:-3)

你可能会考虑另一种方法。

通常,从源代码控制中排除子目录和/或文件的愿望表明这些子目录和/或文件位于错误的位置 - 它们应该移出源代码树。例如,如果它们是构建输出,则重新配置构建工具/脚本以将它们放在远离源的单独目录树中。如果它们是生成的文件,请告知相关工具在其他地方生成它们。

无论这些文件/子目录的目的是什么,您都可以重新配置以将它们移开。在此过程中,您可以简化生活,并可能解决/缓解其他一些问题。

如果您的特定工具难以实现,那么可能需要重新评估该工具。

祝福。