SVNのデフォルト無視設定

 引っかかってしまって悩んだので備忘録的に書いておきます。

 SVNでは、一切設定をしていなくても特定の拡張子をデフォルトで無視するようになっています。

 設定ファイル(UNIXでは~/.subversion/.config、windows版ではC:\Users\<ユーザ名>\AppData\Roaming\Subversion\config)内では、一切設定していない場合このようになっています。

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

 これを読む限りだとコメントアウトされてるから無視されなさそうな感じがしますが、実は無視されます。(設定例を示すのではなく、デフォルト値を示すコメントみたいで…。)

$ touch test.a
$ svn st
$ svn st --no-ignore
I       test.a

 明示的にこれらを共有したい場合は、svn addに–no-ignoreを設定するか、上記の設定ファイルをコメントアウトして無視設定を外すなど工夫が必要です。

# こうすれば無視しなくなる
global-ignores =
$ svn add --no-ignore test.a
A         test.a

 現在ノートPCとデスクトップPCでSVNを使って開発環境を共有してるのですが、この仕様でひどく苦労しました…。Bazaarに移行しようかな、やっぱり…。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください