25
28

More than 5 years have passed since last update.

Subversion で ignore を設定する

Last updated at Posted at 2018-03-16

Subversion では コミットしてリポジトリに適用する ignore とローカルのみに適用できる ignore があります。
リポジトリを使用する人、全社員に適用したい場合は前者、個人的に自分の環境にだけ作りたい場合は後者を使うと良いでしょう。
また、デフォルトで以下の値は無視されるように設定されています。

*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store.

ここから分かるように * はワイルドカードとして使用できます。

リポジトリに適用する

svn:ignore

svn propset svn:ignore PROPBAL PATH...

を使います。
例えば、

svn propset svn:ignore *.bak .

と書くと現在のディレクトリの末尾が .bak であるファイルが無視されるようになります。
svn:ignore はディレクトリごとに適用されます。
再帰的に適用したい場合は svn propset では -R [--recursive] オプションを利用できます。

svn propset -R svn:ignore *.bak .

とすれば現在のディレクトリ配下全体にこの svn:ignore が適用されます。
リポジトリ全体に適用したい場合、 propset で svn:global-ignores も使用できるようですが、未検証。

また、 svn:ignore はコミットする必要があることに注意してください。
自分自身にだけ適用したい場合は次のセクションを参考にしてください。

ローカルにだけ適用する

config ファイルを編集する

C:\Users\<USERNAME>\AppData\Roaming\Subversion\config ファイルがあります。
この中で [miscellany] の位置を探してその下に global-ignores の以下のような例が載っています。

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store

これを参考に設定します。
保存した後

svn status

をすると設定したファイルが無視されているはずです。
また、

svn status --no-ignore

とオプションをつけると無視されるファイルには I がついて表示され、正しく設定できていることが分かると思います。

参考

Subversionで無視パターンを指定
http://svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2
http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3

25
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
28