svn:mergeinfo
svn サーバ、svn クライアントともにバージョン 1.5.4
たとえば、一ファイルの修正のみを merge したいとして、
branch で merge する。
$ svn merge -r 311:312 http://svn.sample.com/repos/project/trunk --- r312 を '.' にマージしています: U config/config.ini
$ svn st
とすると、関係ないファイルがたくさん modified されている。
svn di 属性に変更があったパス: resources/test/test.php ___________________________________________________________________ 削除: svn:mergeinfo
みたいにでる。
とりあえず検索して調べてみると、
25:01/07(水) 21:41 [sage]
>>21
サブフォルダのふぁるなんかにいつの間にかmergeinfoがふかされると、マージのたびに更新されてしまうね。
trunkからmergeinfoを再帰的に削除してしまえばその後は余計な属性の更新がおきなくなるから。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
26:21 01/08(木) 13:30 [sage]
過去に svn copy か svn move したファイルやフォルダに svn:mergeinfo が付きやすいようです。
必ずしもそうならず、はっきりしたルールは分かりません。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
27:01/08(木) 13:42 [sage]
>>26
そいつは Subversion 1.5.5 で付かないように修正された。
とりあえず trunk で
$ svn propdel -R svn:mergeinfo .
を実行してコミットしたけど、また svn:mergeinfo がでるのかもしれない。
どういう状況で起こるのかがよく分からなくて、うーんおとなしく、subversion を version up したほうがいいのかな。。
追記 20090413
1.5.6 に upgrade した。しばらくはこれで様子を見てみよう。
追記2 20090413
upgrade したら trac でエラーがでた。
Warning: リポジトリと同期できません (Unsupported version control system "svn": "/usr/lib64/libsvn_client-1.so.0: undefined symbol: svn_mergeinfo__filter_catalog_by_ranges" )。詳細は Trac のログを参照してください。 Trac Error リポジトリへのチェックイン event provider (ChangesetModule) failed: TracError: Unsupported version control system "svn": "/usr/lib64/libsvn_client-1.so.0: undefined symbol: svn_mergeinfo__filter_catalog_by_ranges"
適当にぐぐって、PYTHON の PATH を通したらうまくいった。。
SetEnv PYTHONPATH /usr/bin/python