2009-10-20 59 views
5

我的目录结构如下所示:如何递归配置svn状态以隐藏忽略的文件?

project/ 
    app1/ 
    app2/ 
    settings.py 

project目录中,我跑svn propedit svn:ignore .这只能从项目总监不包括其子目录中忽略文件。我可以从每个文件夹中再次运行svn ignore,它将起作用。是否有一个内部的svn命令或选项可以递归地为我执行或者我应该使用脚本来执行我的项目的每个子文件夹中的忽略?

我已经把我忽略的文件是:

*.pyc 
*.swp 

但是,每当我做了svn status,我仍然看到了上述文件。有没有办法告诉svn status递归隐藏忽略的文件?

+1

'SVN status'不隐藏或忽略的文件:

我通过(在Linux下的bash shell)解决了这个问题。你是如何设置那些被忽略的文件的? – 2009-10-20 14:20:51

+1

您是否检入了要忽略的更改?我不确定它会工作,直到你做。 – pivotal 2009-10-20 14:24:02

+0

我编辑了我的问题以获得更多解释。 – 2009-10-20 14:26:20

回答

5

svn propedit一次只能在一个目标上工作。 TortoiseSVN可以递归地应用属性,但是如果您没有使用它或具有该选项的其他GUI,则必须使用脚本执行此操作。

但是,你应该真的做的是将global-ignores设置为忽略你提到的两种文件模式。根据the most recent documentation*.pyc*.swp包含在Subversion 1.6的默认忽略中,但是如果您的config文件没有它们,则可以添加它们。

config文件的位置是平台相关的;请参阅上述文档链接。 global-ignores位于miscellany部分。

+0

文档链接已死亡。我相信这是目前的版本和感兴趣的位置。 http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.advanced.props.special.ignore相关部分 - “在类Unix系统上,该区域显示为名为.subversion的目录在Win32系统中,Subversion创建一个名为Subversion的文件夹,通常位于用户配置文件目录的应用程序数据区域内(顺便说一下,它通常是一个隐藏目录)。“ – RyanfaeScotland 2016-05-12 10:00:41

+0

在Windows中键入%APPDATA%进入资源管理器地址栏。 – RyanfaeScotland 2016-05-12 10:06:09

2

只有global-ignores的问题是你需要一个文件扩展名。在一些程序中有没有扩展名的文件(或者只有很多扩展名)。一个例子是CakePHP中的tmp文件。

cd app/tmp 
for a in `find . -type d |grep -v svn`; do svn propset svn:ignore '*' $a; done