git-svnでcommitしたときに画像などにsvn:mime-typeがつかなくてえらい目にあう

経験をしたことはありませんでしょうか?

自分はなりました。えらい目といってもコミットフックで飛ばしたメールが画像をテキストで表示しようとしててすごいことになっただけですが;) その回避方法はあまり調べても書いてなかったりするのでメモっておきます。

結論からいうと、手元で試した限りでは、~/.subversion/configでautopropsの設定を有効にしてやればよいみたいです。

# gitの設定ファイルっぽくみえますが~/.subversion/configです
[miscellany]
enable-auto-props = yes

[auto-props]
*.png = svn:mime-type=image/png
*.gif = svn:mime-type=image/gif
*.jpg = svn:mime-type=image/jpeg
*.pdf = svn:mime-type=application/pdf

これでgit svn dcommitで新規に画像ファイルをsvn側に戻したときにうまく処理されます。

まぁファイルの移動などsvn固有の情報はgitからはsvnに教えることはできないので、新規のファイルなどをまとめてががっと登録したいときはsvnで直接やってしまった方が無難です。はい。