4

Mavenプロジェクトの巨大な階層をIntelliJideaにインポートしましたが、ideaはすべての異なるレベルで.imlプロジェクトを作成しました。これらのファイルをsvn:ignoreしたいと思います。

同様の質問がいくつかあります。たとえば、次のような質問があります。svn(subversion)は、ルートで構成されたすべてのサブディレクトリの特定のファイルタイプを無視しますか?

ただし、答えは常にフラグを使用svn:ignoreして適用することです。--recursiveそれは私が探しているものではありません。作成したファイルを無視したいだけで、その下にある何百ものディレクトリにプロパティを設定するのではありません。

基本的に、私が持っているのは

svn status | grep .iml

これは次のようになります:

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

私がやりたいのは、各エントリdir/project.imlをに追加するsvn:ignore *.imlことdirです。上記のgrepをそこに、sedまたはawkそこからパイプで接続する必要svnがあると思いますが、一方では正確なsedまたはawkコマンド、および正確なsvnコマンド(既存のsvnをオーバーライドしません)に関しては完全に途方に暮れています。一方、:ignore values)。

更新:私も探していないのは、に基づくソリューションですfind。この階層には、.imlファイルが実際にコミットされているプロジェクトがあり、それらのプロジェクトに干渉したくないため、追加したいと考えています。 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 に答える