BT

JDK 10のOpenJDK Mercurialリポジトリの統合が提案された

| 作者: Michael Redlich フォローする 15 人のフォロワー , 翻訳者 阪田 浩一 フォローする 1 人のフォロワー 投稿日 2016年11月23日. 推定読書時間: 3 分 |

原文(投稿日:2016/10/21)へのリンク

OpenJDKメーリングリストに投稿されたEメールにおいて、Joe Darcy氏、オラクルのJDKエンジニアであるが、氏はソース操作リポジトリMercurial(以降“Hg”と呼ぶ)をJDK 10のOpenJDKのために単一のリポジトリとする検討を提案した。

JDK 9 OpenJDKは現在Hg “forest”へ整理されている。複数の関連するHgリポジトリの集合だ。8つのリポジトリがJDK 9 forestを構成している。

この統合提案の背後にある動機は、JEP 296に述べられているように、複数のリポジトリを維持することの不利益を取り除くことである。たとえば、複数のリポジトリにまたがる1つのバグフィックスを現行のforest配置で伝搬させることは不可能だ。単一のリポジトリのアドバンテージの1つは、個別のファイルではなくファイルの集合への変更のトラッキングを利点として提供することだ。

JEPで提案された代替としては、(a)現行のHg forestを使い続けること、 (b)リポジトリの1つのコアサブセットだけ統合することだが、後者は不採用となった。またHg forestにJavaFXを含まないことが決定された。

提案にある予期されたQ&Aの投稿にもかかわらず、スケーラビリティやパフォーマンス、他の困難についての議論がさまざまなコントリビュータから出てきた。とくに懸念の長談義が含まれているこの返答だ。“全体像”に焦点を合わせる明白な試みにおいて、オラクルの言語アーキテクトのBrian Goetz氏は以下のように説明した。

OpenJDK開発者はここにいるステークホルダーだけではありません。世界の開発の残りの方法をよりそろえることによって、緩和されトランザクション的に更新された1つのレポジトリにすべてのコードがあるようになれば、それは実現可能性を増加させ、障害がどこで入りこんだのかを明らかにするための、'bisect'のようなツールのコストを減少させます。 これはSQEコストを減少させ、プロダクトの品質を増加させます。私たち全員が関心を寄せているものです。David Lloyd氏はgitミラーの維持を簡単にすることのような他のツール関連の利点を指摘しました。

 

今までのところ生じている反対のほとんどは"(私が思うに彼らは)私の人生をより厳しいものに"してきました。もっともです。人々は彼ら自身の擁護者であるべきです。しかし、結果として*すべての人*から生じる重要な利点を忘れないようにしましょう。長所と短所を判断するときに、これらを覚えておきましょう。

これはOpenJDK HG forestを手入れするための、オラクルの最初の試みではありません。2013年11月にDarcy氏は"JDK 9でforestの集合をまたがる修正の伝搬時間を劇的に減らすであろう代替のforest配置を使う"ために提案しました。

リソース

プロトタイプはHg forestの統合をテストするために作成されている。Pythonスクリプトのサポート(詳細は下記)がダウンロードして利用できる。

  • convert.py: forestにある各リポジトリを適切なフォーマットへ変換することにより統合への準備をする。
  • unify.py: 変換されたリポジトリをすべてforestから1つのリポジトリに統合する。
  • verify.py: forestと統一したリポジトリのファイル内容がヒストリーにあるすべてのタグで一致しているか検証する。これはdiff(1)プログラムの助けで実行される。

プロトタイプはPythonスクリプトを使って単一のリポジトリへ結合されるであろう8つのリポジトリを含んでいる。ヒストリーとチェンジセットのコメント、元の作成日時は保存される。単一のリポジトリは単一のトップレベルのsrcディレクトリを含むだろう。たとえば以下のようになる。

$ROOT/jdk/src/java.base
$ROOT/langtools/src/java.compiler

これが次のようになる。

$ROOT/src/java.base
$ROOT/src/java.compiler

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT