MacにNetBeansでMercurialその5 - 挫折とSubversion

MacNetBeansMercurialに取り組んではや5回目。ついに挫折してしまった私が来ましたよ。

挫折原因はこんな感じ。

若干お手上げ気味です。救世主となる偉い人が現れるまで、とりあえずNetBeansSubversionプラグインの方を試してみることにしました。

そしたら、SubversionSubversionでコミットコメントに日本語を入れると何やら例外を発してコミットができないことが発覚。曰く、こんな感じのエラーメッセージ。

SVNコマンドが次のエラーを返しました:
?\131R?\131~?\131b?\131g?\131e?\131X?\131g

おのれ、どいつもこいつも・・・

仕方が無いので、svnコマンドの文字コード関連にあたりをつけてぐぐってみた。すると、

~/.subversion/config

上記のファイルの、

# log-encoding = latin1

の部分が関連する設定らしいことを発見。Subversionは内部的にコミットコメントをUTF-8で管理しているので、この設定が意味するところは、「log-encodingで指定した文字コードでコメントを書くので、内部的によろしくUTF-8に変換してくれ」という意味らしい。即ち、

log-encoding = utf-8

なんて設定は無意味なはずである。

むむむ・・・

Mac文字コードUTF-8のはずなので、この設定はいらないはずのような気がするんだけどなぁ・・・と、思いつつ、

など色々試すものの全部はずれ。仕方が無いので、ヤケクソで

log-encoding = Shift-JIS

とか設定してみると・・・

コミット成功

なんでShift-JISやねん・・・いまいち釈然としないものの、とりあえずバージョン管理ができる環境が整ったのでよしとしよう。

それにしても、いまいちNetBeans文字コード関連が不透明な気がするなぁ・・・JavaScriptファイルの文字コード設定も何処でやるのかよくわからないし。加えて、SVNプロパティに関しては以下の認識で良いのかしら。

  • 1ファイルずつしか設定できない
    • Eclipseの場合、Subclipseは(少なくとも私が使っていた頃は)1ファイルずつしか設定できないが、Subversiveは複数ファイルまとめて設定できた。
  • 「ファイルを右クリック→SubversionSVNプロパティー」と3アクション践まないと設定済みのSVNプロパティを確認できない
    • Eclipseの場合は「SVNプロパティ」というビューがあって、ファイルを選択するだけでSVNプロパティが見れたので、3アクションはちょいだるいかも。
  • 拡張子毎にデフォルトのSVNプロパティを設定できたりとかはしない
    • 例えば、.shファイルは特に設定しなくとも追加時に自動的に「svn:executable *」が設定されるとか
    • 私が知る限りでは、subversiveにもsubclipseにもそれらしい設定は無かったが、TortoiseSVNにはそれらしき設定があったような。

まぁ、ファイル追加時にちょいと不便なだけなので我慢できないことも無いからいいのですが。