Subversion/GlobalIgnores のバックアップ差分(No.19)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Subversion/GlobalIgnores へ行く。
- 1 (2006-02-16 (木) 22:22:21)
- 2 (2006-04-18 (火) 16:03:20)
- 3 (2006-07-11 (火) 12:55:34)
- 4 (2006-09-09 (土) 16:03:17)
- 5 (2006-09-11 (月) 15:13:42)
- 6 (2006-10-26 (木) 17:35:41)
- 7 (2006-10-31 (火) 02:02:16)
- 8 (2006-10-31 (火) 09:09:50)
- 9 (2006-11-17 (金) 11:40:58)
- 10 (2007-03-25 (日) 23:40:48)
- 11 (2007-07-24 (火) 13:28:11)
- 12 (2009-01-05 (月) 13:44:05)
- 13 (2009-08-07 (金) 15:51:02)
- 14 (2011-01-14 (金) 16:33:51)
- 15 (2011-06-10 (金) 19:20:45)
- 16 (2012-08-13 (月) 16:09:18)
- 17 (2013-07-03 (水) 18:48:46)
- 18 (2013-07-16 (火) 16:27:59)
- 19 (2014-08-25 (月) 15:38:58)
- 20 (2014-09-04 (木) 01:00:50)
- 21 (2014-09-16 (火) 13:58:03)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:Subversionで無視パターンを指定
#navi(../)
*Subversionで無視パターンを指定 [#r8421e9c]
#adsense2
>編集者:[[Terai Atsuhiro>aterai]]~
作成日:2003-09-25~
更新日:&lastmod;
#contents(none)
*概要 [#ka3cbecd]
例として''bak''ファイル(*.bak、*.BAK)などを、ステータス表示(svn status)で無視する設定方法を、以下に3つ紹介しています。
- configファイルでglobal-ignoresを設定する(ローカル)
- レジストリでglobal-ignoresを設定する(ローカル)
- svn:ignore属性をディレクトリに設定する
*設定方法 [#f7c527a4]
**configファイルでglobal-ignoresを設定する(ローカル) [#c62e3ccb]
ローカルで無視したいファイルの拡張子などを''config''ファイルに設定します。
''C:\Documents and Settings\ユーザ名\Application Data\Subversion\Config''(cygwinなら''~/.subversion/config'') をエディタで開き、[miscellany]のコメントアウトを外してglobal-ignoresにパターンを追加します。区切りはホワイトスペース、パターン指定にはワイルドカードの"*"と"?"が使用できます。詳細は[http://svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Config]を参照してみてください。
#code{{
### 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
}}
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((BOMなしで、xyzzyであればUTF-8Nで保存))で保存します。例えば''コピー ~ Hoge.java''のような日本語やスペースを含むファイルを無視する場合は、以下のように設定します。
#code{{
global-ignores = #*# .*~ *~ *.bak *.BAK XTAGS *.tmp コピー?~*
}}
**レジストリでglobal-ignoresを設定する(ローカル) [#kae4325b]
Windows版の場合、レジストリにglobal-ignoresを設定することもできます。以下を.regファイルにして実行するか、regedit.exeで直接編集してください。
#code{{
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="*.o *.lo *.la #*# .*~ *~ .#* .DS_Store *.bak *.BAK"
}}
**svn:ignore属性をディレクトリに設定する [#la613547]
リポジトリの任意ディレクトリに無視パターンを設定する場合は、svn:ignore属性を使用します。詳細は[http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3 svn:ignore]を参照してみてください。
C:\temp\test>svn st
? lib\Test.BAK
? src\Test.BAK
上記のような状態から、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
これにより、srcディレクトリの属性が変更されたのでチェックインします。
C:\temp\test>svn ci -m "src ignore BAK"
Sending src
Committed revision 23.
>>
propeditを使う場合は、SVN_EDITORで指定したエディタで一行ずつパターンを記入してやります((またはファイルを作って-Fオプションで指定))。
C:\temp\test>svn propedit svn:ignore src
>>
*.bak
*.BAK
<<
proplistを使って属性を確認します。
C:\temp\test>svn proplist -v http://localhost/svn/test/src
Properties on 'http://localhost/svn/test/src':
svn:ignore : *.BAK
-注意点
--%%svn:ignoreはサブディレクトリには効かない%%
---[http://d.hatena.ne.jp/tell-k/20090806/1249575564 svn:ignoreを再帰的に適用したい。 - Study03.net 対シンバシ専用]
---[http://sj6.org/subversion_svn_ignore_for_reflexive_directory/ svn:ignoreを再帰的に適用させるコマンド - 適当な日々]
---[http://subversion.tigris.org/issues/show_bug.cgi?id=1794 subversion: #1794 Recursive propset corrupt WC]
--svn add *.BAK のようにした場合は、無視せずリポジトリに追加される
*コメント [#x340b5c4]
- `Emacs`などで生成される自動バックアップ中のファイル`#Hoge.java#`を`.hgignore`で無視する場合のメモ: `#`がコメントになるので、`\#*\#`とエスケープする -- [[aterai]] &new{2013-07-16 (火) 16:27:59};
#comment