Subversion のコミットログ文字化け修正

自分の subversion リポジトリを復旧させたところ
eclipse の subclipse でログ表示が見れない状態になっている…

コミットログでエンコードが入り混じっているものを
UTF-8 に統一する python スクリプトを作成しました。

最新版 Subversion のコミットログ文字化け修正 ver 0.2

もともと CVS でソース管理していたもので、3つの CVS リポジトリを cvs2svn でコンバートしたため cp932, euc-jp, utf8 が入り混じっているリポジトリになっているのを忘れていた orz

検索して調べてみましたが
いまだにコミットログの修正のスクリプトやツールが見つけれなかったので
さくっと作成してみました。

svnlog_fixencoding.py

リモートリポジトリには対応していません。
ローカルリポジトリに対して実行するようにしてください。

実際に変更を行う前にリポジトリのバックアップを必ず作成してください。
スクリプトを実行して例外が発生しなければコンバート可能ですので

  #fs.change_rev_prop( myfs, rev, 'svn:log', svnlog_utf8 )

の箇所を実際に実行するようにして実行することでコミットログが utf-8 に統一されます。

windows の subversion 1.6.17 と python2.6.6 に subversion の python-binding で動作確認しました。

 

This entry was posted in python, Subversion. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>