svnの属性 各ファイル・ディレクトリへの付加情報 [svn:ignore]]

svnでは、ファイル・ディレクトリに付随するものとして、
「リビジョン」だけではなく、「属性」と呼ばれるものが存在します。

属性とは、ファイル・ディレクトリの付加情報を示します。
この属性は、属性名と属性値から成っており、

属性名 属性値
name1 var1

と設定することができます。
レポジトリには、「リビジョン」管理されて登録されます。

そして、属性名として、svnが既に規定しているものがいくつか存在します。

今回は、svn:ignoreについて。

svn:ignore

あるファイルやディレクトリを、レポジトリにいれたくない、svn statusで状態表示させたくない、
といったときに使用する属性になります。
属性の作成は、svn propsetコマンドで行い、
引数として、属性名と属性値、およびファイル(ディレクトリ)パスを渡します。

svn:ignore属性が取りうる値は、patternを表す文字列になります。

$ svn propset svn:ignore '*' trunk/tmp.txt

patternをひとつのファイルにまとめて共有化する場合

$ svn propset svn:ignore -F ignore_pattern.txt trunk/temporary/

ignore_patter.txt

temporary_*

上の例ではcommit後、
trunk/temporary/以下のtemporary_*という名前のファイルは無視されることになります。
なお、無視すべきファイルもsvn statusで表示させたい場合には、
--no-ignoreオプションを指定してください。

$ svn status --no-ignore

指定した属性と属性値を表示するコマンド。

$ svn proplist project -v
Properties on project:
  svn:ignore: *

また、svkではsvnと同様に動作します。

$ svk propset svn:ignore '*' .