ラベル subversion の投稿を表示しています。 すべての投稿を表示
ラベル subversion の投稿を表示しています。 すべての投稿を表示

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で管理してるのと変わらず、追いにくい開発環境毎の分散化に拍車がかかるようになっているので、かなり悩みどころ。


2010年11月10日水曜日

セキュリティ軽視のつけ、エンジニアギルド

セキュリティの話

今から約半年ほど前に引き受けた案件。
今や、ほとんど見張ってません。終わったから。

非常に大きなシステム規模を持つところの1部署で、
簡単なWebシステムを御所望というお話。
弊社の顧客でありWebシステムを収めているところ
からの要請です。

私の会社は所謂インフラ担当だったので、最初に
WEB/RDBMの物理的分割要求には面喰いました。まあね
正しいアプローチだし、作業が増えるだけで大変じゃないから
収めてからはニヤニヤしてたけど、ほんとうに大変だったの
はPHPのコードレビューつまりセキュリティに対する注文でした。

私の直接顧客の書くPHPのアプリケーションは、
もともとPHP4からの結構穴だらけなもの。
私自身は、修正に手を出したくないレベルです。

私がレビューする側だったら、サーバシステム本来の
脆弱性なんかも審議の的にするでしょうけど、
それ以上にシビアだったのは、運用面での、データダ
ンプ処理のあり方ですかね。 ここが狙われると情報が
ダダモレちゃうということです。

一切のデータダンプをWeb側に置くなというポリシーを
理解するまでPHPコードの設計者が1ヶ月頭捻り通し。

まぁ、私が抜け道を数案提案してある一案が採用なった
から良いけれどそーでなかったら大騒ぎだった(笑)
そうそう暗号化メールとかは一笑に付されましたね。
SSLで特定のサーバとしか通信できないシステムだって
作れるSMTPサーバも拵えることは可能だし、メール
だっていろいろあるんだけどという話は全く理解さ
れそうにないから省きました。面倒くさいしね。

まあ、真意は判らないけどDNSとSMTPの脆弱性はすでに
常識化、いやさISCの責任でもあるんですが、そーなると
HTTPSなら安全とかそれも根拠が薄いんですよエンド
ユーザ様。 SSL2.0の高速アクセレータと、かたやフリーな
実装のTLS1.0でも、https://~なもの扱いますけど
違いますよね。 EVな証明書であるとかないとかいろいろ
あるんですよね・・・。そこまで突っ込まれなかったから
命拾い・・・いやコストぎりぎり(笑)

 ほんと大企業が突きつける最低限のコンプライアンス
満たすって要求だけでも、簡単なWebとPHPで飯喰ってる
ヒトのほとんどが落第なんじゃないかと思った一瞬でした。

エンジニア・ギルド

 上の話で、ボクの付き合ってる先は、PHP専業なので
Javaや他のオブジェクト指向な言語使う人たちと違い
クラスはまだ使って無いです。
私は2年前からバンバン入れてますけどね。

加えて、お一人様開発には勿体無い位便利なsubversionだって
知らないし、集団でコード開発・レビューの体制って
出来るだろうけど、やっぱりパワーが足りないのですよね。

こういう複数人開発のルール作りのみならず、
今使ってるコンポーネントが、コミュニティであれ
ベンダーからであれ、サポートを受けられるバージョンで
あることは重要。 もう、PHP4.xで運用するのは辞めようよ。
私は面倒見切れない。

私も、個人的に多分ソフトハウスのシステム管理なら自分ひとり
切り盛り出来ちゃうレベルなんだけど、高々一人で出来ることは
限られている。チーム作りが大切だって事をそろそろ意識します。

ある意味で、まだエンジニア・ギルドに所属してないけど、
私の立場はまだジャンル横断型の冒険野郎バグライターなので、
何処にも所属できないというのが正直なところです。

誰か居ないかな~。