Sea*_*oyd 4 svn bash awk sed svnignore
我已经将一个庞大的maven项目层次结构导入IntelliJ想法,现在想法已经创建了所有不同层次的.iml项目.我想svn:忽略这些文件.
有几个类似的问题,例如这一个:svn(subversion)忽略所有子目录中的特定文件类型,在root上配置?
但是:答案总是适用svn:ignore
于--recursive
旗帜.这不是我想要的,我只是想忽略我创建的文件,而不是在下面的数百个目录上设置属性.
基本上,我所拥有的是输出
svn status | grep .iml
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
? foo/bar/bar.iml
? foo/baz/phleem.iml
? flapp/flapp.iml
Run Code Online (Sandbox Code Playgroud)
等等
我想这样做是为每个条目dir/project.iml
添加svn:ignore *.iml
到dir
.我猜我必须将上面的grep管道传输到sed
或awk
从那里传输svn
,但是我完全失去了一方面确切的sed或awk命令以及确切的svn命令(我不会覆盖现有的svn) :另一方面,忽略值).
更新:我也不想要的是基于的解决方案find
,因为这个层次结构中可能存在.iml文件实际上已提交的项目,我不想干涉这些项目,所以我想添加属性仅适用于我的IDE创建的.iml文件.
您可以将客户端设置为全局忽略给定的文件扩展名.只需添加
global-ignores = *.iml
Run Code Online (Sandbox Code Playgroud)
进入你的Subversion配置文件.
更新:如果您只想忽略相关目录中的iml文件,可以尝试
svn status | grep '^\?.*\.iml' | sed 's=^? *=./=;s=/[^/]*$==' | xargs svn propset svn:ignore '*.iml'
Run Code Online (Sandbox Code Playgroud)