6

バイナリ(Linuxの場合)には拡張子がないため、パターンを使用してバイナリを除外することはできません。したがってSVN add、ディレクトリを追加するために使用すると、次のようになります。

$ svn add recursion_vector/
A         recursion_vector
A         recursion_vector/rec_vec.cxx
A         recursion_vector/rec_vec.h
A  (bin)  recursion_vector/rec_vec

これrec_vecが除外したい実行可能ファイルです。SVNは明らかにそれをバイナリとして認識します。今、Subversionにすべてのバイナリファイルを無視するように指示できますか?

4

3 に答える 3

2

findを使用するため、これは少し冗長です。

find [TARGET-DIRECTORY] \( -executable -type f \) -prune -o -print | xargs svn add --depth empty

findにtarget-directoryを渡すと、findはディレクトリを再帰的に実行し、実行可能ファイル(\( -executable -type f \) -prune)を除くすべてのコンテンツを出力します。-type f通常、ディレクトリには実行ビットまたは「検索ビット」が設定されているため、findがないとディレクトリも削除されます。

--depth emptyオプションaddは、findが再帰を処理しているため、svn自体にファイルオブジェクトを再帰しないように指示します。

結果が気に入った場合は、これをシェル関数に入れて、の引数を渡すことができます[TARGET-DIRECTORY]

ありがとうございました、

ザカリー

于 2010-06-11T21:04:13.297 に答える
1

パターンマッチを設定して、が含まれていないファイル名を除外できます.か?

于 2010-06-02T00:07:00.157 に答える
0

これはあなたが望むものではありません(そしてあなたはすでにこの答えを知っているかもしれません)...しかしとにかく:

ファイル名に基づいて一部のファイルを無視するように除外パターンを設定できます。素晴らしいSVN本の詳細:

http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3

それ以外は、コミットフックで何かできるかもしれませんが、私はそれらの経験がありません...

幸運を !

于 2010-02-03T10:41:07.357 に答える