2012年3月31日土曜日

Apple Mail の問題点

メーリングリストで毎回[文字が化けました再送します」という
メールを見ているうちに、気がついたので書いてみた。

結果的にこのサイトを見て、問題点がはっきりした。

Snow LeopardのMailはUTF-8のメールを量産する 


どうやら最近のAppleMailは、(10.5,10.6/10.7付属)
「ー」(ダッシュ)「〜」(波線)のように
多用する傾向のある記号をメールに含めてしまうと、
エンコードが上手く行えずに8bitで流してしまうらしい。
これはUTF-8からISO-2022-JPへの変換が双方向でない
(わざわざ違うマッピングを用いたことによる弊害?)
というトテモ重たい現実によって起きているのだ。

つまり文字的に不可逆的な破壊が起きる。

これを防ごうとしてUTF-8で無難に送信しようとするので
携帯電話など非力なリソースでメールをISO-2022−JPと
決めうって表示するメールソフトでは見事に化ける。

まあこれも氷山の一角に過ぎないんだよなぁ。
未だに僕はPHPでEUC-JP使ってます。Eclipseでトラブルけど
変換してUTF-8だけでやろうとしてもやっぱり何処かでおかしくなる。
というか使えません。

もうどうでもいいですが。

2012年3月23日金曜日

Subscripse and Eclipse SDK 4.1



MacOSXで、Eclipse3.6 Helios使って色々やってたけど、サーバにおいたリモートリポジトリのsubversionを1.7にした後、トラブルが続いてしまった。 というかあんまりまじめに管理していなかったからだけれど、某所でとにかく大量のコミットが起きた時点で、Repository壊してしまったと勘違いしたみたい。SVN1.6クライアントが1.7サーバとキチンとお話ができなくなってしまっているという悲劇もあるけれど、それ以上に酷かったのは、MacOSXのEclipse 3.6 Helios君のSVN-JavaHLあたりの混乱。Subversiveがまともに動かなくなってしまった。これ、インストールする時も出てちょっと困った記憶があるけど、もうほとほと嫌になったのだ。

で、 http://subclipse.tigris.org/ ← Subclipse に移行することにした。

Eclipse3.6も駄目だったし、3.7もインストールしたけど、同じような原因で壊れ、汚染された後SVN関連には不可逆的な疵が残ってしまったので諦めた。

Macには、Mac portがあり、subversion-javahlbindingsをこちらからも導入することが出来るので、試してみた。これの効果もあったのだろうか???

sudo port install subversion-javahlbindings
Password:
--->  Computing dependencies for subversion-javahlbindings
--->  Dependencies to be installed: junit hamcrest-core apache-ant
--->  Fetching archive for apache-ant
--->  Attempting to fetch apache-ant-1.8.2_0.darwin_10.noarch.tbz2 from http://packages.macports.org/apache-ant
--->  Attempting to fetch apache-ant-1.8.2_0.darwin_10.noarch.tbz2.rmd160 from http://packages.macports.org/apache-ant
--->  Installing apache-ant @1.8.2_0
--->  Activating apache-ant @1.8.2_0
--->  Cleaning apache-ant
--->  Fetching archive for hamcrest-core
--->  Attempting to fetch hamcrest-core-1.2_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/hamcrest-core
--->  Attempting to fetch hamcrest-core-1.2_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/hamcrest-core
--->  Installing hamcrest-core @1.2_0
--->  Activating hamcrest-core @1.2_0
--->  Cleaning hamcrest-core
--->  Fetching archive for junit
--->  Attempting to fetch junit-4.6_2.darwin_10.noarch.tbz2 from http://packages.macports.org/junit
--->  Attempting to fetch junit-4.6_2.darwin_10.noarch.tbz2.rmd160 from http://packages.macports.org/junit
--->  Installing junit @4.6_2
--->  Activating junit @4.6_2
--->  Cleaning junit
--->  Fetching archive for subversion-javahlbindings
--->  Attempting to fetch subversion-javahlbindings-1.7.4_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/subversion-javahlbindings
--->  Attempting to fetch subversion-javahlbindings-1.7.4_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/subversion-javahlbindings
--->  Installing subversion-javahlbindings @1.7.4_0
--->  Activating subversion-javahlbindings @1.7.4_0
--->  Cleaning subversion-javahlbindings




ということで、これ入れたあと、Eclipse4.1を展開。


そういえば、おかしくなってたEclipse3.x系は Install/Update のペーンで

[Uninstall or Update software that is allready installed]

が 出てなかった。 マーケットプレイスで全部やれということになってたのかも
しれないけどアレはざっくりしし過ぎてて使えない。

Eclpse4.1 は、結局下記のようなインストール状況となって動いている。
mergedocとか突っ込めば動くのかもしれない。でも作業環境が壊れるのが
嫌なのでしばらく日本語なしで。

   CollabNet Merge Client    3.0.7    com.collabnet.subversion.merge.feature.feature.group    CollabNet
  Eclipse SDK    4.1.0.M20120223-0900    org.eclipse.sdk.ide    null
  JNA Library    3.4.0.t20120117_1605    net.java.dev.jna.feature.group    null
  PHP Development Tools (PDT) SDK Feature    3.0.0.v201201110400-77-184_2BEICRgM_fMVcz0M4Va9O    org.eclipse.php.sdk.feature.group    Eclipse.org
  Subclipse (Required)    1.8.7    org.tigris.subversion.subclipse.feature.group    tigris.org
  Subclipse Integration for Mylyn 3.x (Optional)    3.0.0    org.tigris.subversion.subclipse.mylyn.feature.group    tigris.org
  Subversion Client Adapter (Required)    1.8.1    org.tigris.subversion.clientadapter.feature.feature.group    tigris.org
  Subversion JavaHL Native Library Adapter (Required)    1.7.4    org.tigris.subversion.clientadapter.javahl.feature.feature.group    tigris.org
  Subversion Revision Graph    1.1.1    org.tigris.subversion.subclipse.graph.feature.feature.group    tigris.org
  SVNKit Client Adapter - BETA (Not required)    1.7.0    org.tigris.subversion.clientadapter.svnkit.feature.feature.group    tigris.org
  SVNKit Library    1.7.0.beta3_t20120306_2144    org.tmatesoft.svnkit.feature.group    TMate Software

4月3日:追記

 Subscripseに入れ替えてもなお次の問題は解決されていません。

  1. リポジトリ上のリビジョンをRevokeできない。
  2. 特定のリビジョンにバックステップする事すら出来ない。
これかなり使いづらい。 履歴は参照できて過去の変更点を探す事は出来ても、プロジェクト全体に変更を行った後、しばらくしてその変更を全部諦めたい というプロセスが、まったく別の方法でしか実現できない(改訂リビジョン丸ごと別なプロジェクトとして、読み込む。Eclipse側の管理としてはリポジトリの本流に従う事がない等)など、欠点が露呈し始めています。中央リポジトリで、割と枝分かれしない開発スタイルでも、ほぼMercurialで管理してるのと変わらず、追いにくい開発環境毎の分散化に拍車がかかるようになっているので、かなり悩みどころ。