Subversion/GlobalIgnores のバックアップの現在との差分(No.9)
Subversionで無視パターンを指定
編集者:Terai Atsuhiro~
作成日:
更新日:2014-09-04 (木) 01:00:50
- title: Subversionで無視パターンを指定 author: aterai pubdate: 2003-09-25 description: Subversionのステータス表示で、bakファイル(*.bak、*.BAK)ファイルなどを無視(非表示)する方法をメモしています。
概要
bakファイル(*.bak、*.BAK)などをステータス表示(svn status)で無視するよう設定します。概要
例としてbak
ファイル(*.bak
、*.BAK
)などを、ステータス表示(svn status
)で無視する設定方法を、以下に3
つ紹介しています。
設定方法
configファイルでglobal-ignoresを設定する(ローカル)
ローカルで無視したいファイルの拡張子などをconfigファイルに設定します。-
config
ファイルでglobal-ignores
を設定する(ローカル) - レジストリで
global-ignores
を設定する(ローカル) -
svn:ignore
属性をディレクトリに設定する
設定方法
configファイルでglobal-ignoresを設定する(ローカル)
ローカルで無視したいファイルの拡張子などをconfig
ファイルに設定します。
### Section for configuring miscelleneous Subversion options. [miscellany] ### Set global-ignores to a set of whitespace-delimited globs ### which Subversion will ignore in its 'status' output. # global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store global-ignores = *.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.bak *.BAK
C:\Documents and Settings\ユーザ名\Application Data\Subversion\Config
(cygwin
なら~/.subversion/config
) をエディタで開き、[miscellany]
のコメントアウトを外してglobal-ignores
にパターンを追加します。区切りはホワイトスペース、パターン指定にはワイルドカードの*
と?
が使用できます。詳細はConfigを参照してみてください。
no-ignoreオプションをつけてステータスを表示すると、*.BAKなどに"I"が付き、無視されていることが確認できます。
#spanend
#spanadd
### Section for configuring miscelleneous Subversion options.
#spanend
#spanadd
[miscellany]
#spanend
#spanadd
### Set global-ignores to a set of whitespace-delimited globs
#spanend
#spanadd
### which Subversion will ignore in its 'status' output.
#spanend
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
#spanadd
global-ignores = *.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.bak *.BAK
#spanend
#spanadd
no-ignore
オプションをつけてステータスを表示すると、*.BAK
などにI
が付き、無視されていることが確認できます。
C:\temp\test>svn st --no-ignore I build.BAK ? src\Test.java I src\Test.java.1~ I src\Test.BAK ? src\Test.BAK2日本語を使用する場合は、configファイルをUTF-8*1で保存します。 日本語を使用する場合は、
config
ファイルをUTF-8
(BOM
なしで保存、xyzzy
の場合はUTF-8N
)で保存します。例えばコピー ~ Hoge.java
のような日本語やスペースを含むファイルを無視する場合は、以下のように設定します。
global-ignores = #*# .*~ *~ *.bak *.BAK XTAGS *.tmp コピー?~*
#spanend
#spanadd
global-ignores = #*# .*~ *~ *.bak *.BAK XTAGS *.tmp コピー?~*
#spanend
#spanadd
レジストリでglobal-ignoresを設定する(ローカル)
レジストリにglobal-ignoresを設定することもできます。以下を.regファイルにして実行するか、regeditで編集してください。Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany] "global-ignores"="*.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.bak *.BAK"
レジストリでglobal-ignoresを設定する(ローカル)
Windows
版の場合、レジストリにglobal-ignores
を設定することもできます。以下を.reg
ファイルにして実行するか、regedit.exe
で直接編集してください。
svn:ignore属性をディレクトリに設定する
リポジトリの任意ディレクトリに無視パターンを設定する場合は、svn:ignore属性を使用します。詳細はsvn:ignore(svn:ignore)を参照してみてください。#spanend
#spanadd
Windows Registry Editor Version 5.00
#spanend
#spanadd
#spanend
#spanadd
[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
#spanend
#spanadd
"global-ignores"="*.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.bak *.BAK"
#spanend
#spanadd
svn:ignore属性をディレクトリに設定する
リポジトリの任意ディレクトリに無視パターンを設定する場合は、svn:ignore
属性を使用します。詳細はsvn:ignoreを参照してみてください。
C:\temp\test>svn st ? lib\Test.BAK ? src\Test.BAK上記のような状態から、srcディレクトリは*.BAKを無視するようpropsetします。 上記のような状態から、
src
ディレクトリは*.BAK
を無視するようpropset
します。
C:\temp\test>svn propset svn:ignore *.BAK .\src property 'svn:ignore' set on 'src' C:\temp\test>svn st ? lib\Test.BAK M src M srcこれにより、srcディレクトリの属性がされたのでチェックインします。 これにより、
src
ディレクトリの属性が変更されたのでチェックインします。
C:\temp\test>svn ci -m "src ignore BAK" Sending src Committed revision 23.
>
propeditを使う場合は、SVN_EDITORで指定したエディタで一行ずつパターンを記入してやります*2。
propedit
を使う場合は、SVN_EDITOR
で指定したエディタで一行ずつパターンを記入してやります(またはファイルを作って-F
オプションで指定)。
C:\temp\test>svn propedit svn:ignore src
>
*.bak *.BAKproplistを使って属性を確認します。
proplist
を使って属性を確認します。
C:\temp\test>svn proplist -v http://localhost/svn/test/src Properties on 'http://localhost/svn/test/src': svn:ignore : *.BAK
- 注意点
- svn:ignoreはサブディレクトリには効かない
- svn add *.BAK のようにした場合は、無視せずリポジトリに追加される
- 注意点
-
svn:ignoreはサブディレクトリには効かない -
svn add *.BAK
のようにした場合は、無視せずリポジトリに追加される
-