4

我已经将大量的 Maven 项目层次结构导入 IntelliJ IDEA,现在 IDEA 已经在所有不同级别上创建了 .iml 项目。我想 svn:ignore 这些文件。

有几个类似的问题,例如这个:svn (subversion) ignore specific file types in all sub-directories, configured on root?

但是:答案总是svn:ignore--recursive标志一起应用。那不是我要找的,我只想忽略我创建的文件,而不是在下面的数百个目录上设置属性。

基本上,我所拥有的是

svn status | grep .iml

看起来像这样:

?       foo/bar/bar.iml
?       foo/baz/phleem.iml
?       flapp/flapp.iml

等等

我想做的是为每个条目dir/project.iml添加svn:ignore *.imldir. 我猜我必须将上面的 grep 传送到sedawk从那里传送到svn,但是我完全不知道一方面确切的 sed 或 awk 命令以及确切的 svn 命令(我不会用它覆盖现有的 svn :ignore values) 另一方面。

更新:我也不是在find寻找基于仅适用于我的 IDE 创建的 .iml 文件的属性。

4

1 回答 1

8

您可以将客户端设置为全局忽略给定的文件扩展名。只需添加

global-ignores = *.iml

进入您的 Subversion 配置文件。

更新:如果您只想忽略所涉及目录中的 iml 文件,您可以尝试

svn status | grep '^\?.*\.iml' | sed 's=^? *=./=;s=/[^/]*$==' | xargs svn propset svn:ignore '*.iml'
于 2012-06-29T11:11:36.660 回答