宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。
以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
以前Ubuntu 8.10に導入したNautilusSVNなんだけど、一つ困った事がある。それは、コミット時のメッセージを日本語で入力するとコミットできないという点。
普通のオープンソースのプロジェクトだったら英語でやるのが当たり前だろ!!!日本語のメッセージとか死ね!!!と言う人もいるだろうけど、そんなの知るかよと。TortoiseSVNじゃ普通にできてるんだから、できない方がおかしいだろと。とかぼやきつつも仕方ないからNautilusSVNからcommitする時だけは英語でコメント付けるようにしてたけど、英語苦手だからついつい二言三言の適当なメッセージだけでcommitして、後になってログ一覧見た時に何の変更だったのか訳が分からなくなる、ということがあまりに多いのでいいかげん我慢の限界がきた。
そもそもの所で勘違いしてたんだけど、日本語が通らないのはSubversion自体の問題ではなくてNautilusSVNの問題だということについ先日やっと気がついた。ターミナルでsvn commit -m "日本語のメッセージ"てな感じで書いたらちゃんとコミットできたし。あと閉じ括弧を入力するまでは改行とかもメッセージに普通に入れられるということにも気がついた。なのでしばらくの間、コミットだけコマンドライン操作でやるようにしてみたんだけど、やっぱりめんどくさい。
この手の問題はMozillaでもよくあって、Mozillaの場合は文字列のエンコーディングを変えてやるだけで解決する場合が多いので、NautilusSVNでもきっとそうなんじゃないだろうか。と見当を付けて、思い切ってソースコードを覗いてみた。~/.nautilus/python-extensions/NautilusSvn/SvnCommit.py の中のそれらしい箇所に、ぐぐって調べた文字エンコーディング変換のコードを一行加えて、試しにコミットしてみたら無事に日本語が通るようになった。
Index: SvnCommit.py
===================================================================
--- SvnCommit.py (リビジョン 776)
+++ SvnCommit.py (作業コピー)
@@ -102,6 +102,7 @@
ctrl = XRCCTRL( self.frame, "Message" )
self.commitMessage = ctrl.GetValue()
+ self.commitMessage = self.commitMessage.encode("UTF-8")
# If the user doesn't supply a commit message we will just use the string
# "Empty message" since pysvn doesn't accept an empty string see:
# pysvn._pysvn_2_5.ClientError: callback_get_log_message required
変更箇所はほんとにこれだけ。
バグ報告してください:)
https://bugs.launchpad.net/ubuntu/+source/nautilus-svn-scripts
節子、それNautilusSVNやない! nautilus-script-collection-svnや!
おっと、勘違いしました。すいません;
の末尾に2020年11月30日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「2009-02-09_nautilussvn-japanese.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。
writeback message: Ready to post a comment.