<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>LaunchpadでBazaarを使う — Bazaar 2.7.0 ドキュメント</title> <link rel="stylesheet" href="../_static/classic.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '2.7.0', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="../_static/translations.js"></script> <link rel="shortcut icon" href="../_static/bzr.ico"/> <link rel="search" title="検索" href="../search.html" /> <link rel="top" title="Bazaar 2.7.0 ドキュメント" href="../index.html" /> <link rel="up" title="チュートリアル" href="index.html" /> <link rel="next" title="集中型ワークフローのチュートリアル" href="centralized_workflow.html" /> <link rel="prev" title="Bazaar チュートリアル" href="tutorial.html" /> </head> <body role="document"> <div class="related" role="navigation" aria-label="related navigation"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="centralized_workflow.html" title="集中型ワークフローのチュートリアル" accesskey="N">次へ</a></li> <li class="right" > <a href="tutorial.html" title="Bazaar チュートリアル" accesskey="P">前へ</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">目次 (2.7.0)</a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">チュートリアル</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="launchpadbazaar"> <h1>LaunchpadでBazaarを使う<a class="headerlink" href="#launchpadbazaar" title="このヘッドラインへのパーマリンク">¶</a></h1> <div class="section" id="id1"> <h2>動機付け<a class="headerlink" href="#id1" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="id2"> <h3>コミュニティはチームとは違う<a class="headerlink" href="#id2" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>ソフトウェアの初回リリースをしなければならない人々のチームというのは、一人から数千人まで、その規模は多岐に渡ります。 その要求に応じて、技術的な課題、経営上の課題、その両方が非常に大きなものになる可能性があります。 Bazaarユーザガイドで説明したように、”ふさわしい”プロセスを選択し、それに見合ったワークフローをサポートするBazaarのようなツールを使うことは、大きな手助けになるでしょう。</p> <p>しかし、ソフトウェアによる成功のためには、すばらしいチーム以上のものが必要です。 - それは、健全で活発な <em>コミュニティ</em> です。 このグループは、通常はチームよりもはるかに大きく、なぜならそのソフトウェアに関心のあるすべての人 - 開発チーム、ユーザ、トレーニングパートナー、サポートパートナー、サードパーティの開発者など - を含むからです。</p> <p>すばらしいコミュニティというものはフリー(自由)ソフトウェア コミュニティでは良く理解されています。 しかし、その適用はオープンソースの世界を越えて広がっています。 もっとも成功している商業ソフトウェアのベンダーは、 そのフラッグシッププロダクトと共に成長するコミュニティを作り上げ、運営することがたくみなのです。</p> <p>すばらしいチームと同じように、すばらしいコミュニティも偶然できるものではありません。 良いポリシーとガイドラインが、参加者同士の健全なコミュニケーションと正しい振る舞いを育てるために不可欠です。 この話題についてもっと深く知りたければ、Karl Fogelのすばらしい著書 - <a class="reference external" href="http://www.producingoss.com/">Producing Open Source Software</a> - を見てください。</p> </div> <div class="section" id="id3"> <h3>協調開発に必要なもの<a class="headerlink" href="#id3" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>コミュニティの情報とワークフローを追跡し、管理するためには、賢いツールセットが重要です。 そのようなツールを、協調開発環境(Collaborative Development Environments : CDEs)と呼びます。 一般的には、WEBベースでアナウンスや案件、バグを管理します。 <a class="reference external" href="https://launchpad.net">Launchpad</a> 、 <a class="reference external" href="http://sourceforge.net">SourceForge</a> 、 <a class="reference external" href="http://java.net">java.net</a> 、 <a class="reference external" href="https://www.sdn.sap.com/irj/sdn">SAP Community Network</a> などに、CDEsの例があります。</p> </div> <div class="section" id="id4"> <h3>関係するコミュニティとの協調を助ける<a class="headerlink" href="#id4" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>多くの成功しているプロダクトは、その下流にそれを使うたくさんのプロダクトがあります。 言いかえると、他のコミュニティとやりとりをして、自分の変更が彼らにどんな影響を与えるかを理解することで、新しい挑戦が成功するのです。 これは、以下のようなプロダクトでは特に明白です。:</p> <ul class="simple"> <li>プログラム言語、たとえばPyhon、PHP、Ruby、Java、Perlなど</li> <li>コンパイラ、たとえばgcc、JDKなど</li> <li>ライブラリ、たとえばzlib、opensslなど</li> <li>フレームワーク、たとえばZope、Ruby on Rails、Springなど</li> </ul> <p>しかし、アドオン機能を持つメジャーなアプリケーション、たとえばFirefox、Thundervird、OpenOffice.org、Drupal、Wordpress、Joomlaなどにも、このことはあてはまります。</p> <p>コミュニティの境界をこえて案件や障害修正の追跡と管理をするための作業をサポートしてくれるツールが必要です。 そのようなツールは、両極端にいるどちらのユーザも助けてくれます。:</p> <ul class="simple"> <li>自分のことばで問題を報告することができるユーザ。 たとえば、「オペレーションシステムX上のアプリケーションYで、Zタイプのイメージのレンダリングがおかしい」など</li> <li>変更や障害修正が下流のプロダクトに与える影響をよりよく評価できる開発者。 たとえば、「グラフィックライブラリのバグを修正することにより、これらの10個のOS上の5つのアプリケーションに恩恵がある」など</li> </ul> <p>その間にいる人々は、 <em>点線をつなぎ</em> 、上流と下流との間のコミュニケーションを担うという重要な役割を果たします。 多くの場合、彼らはエンドユーザのためにバグを修正したり、パッチをリリースしたり、上流の開発チームに修正内容を提示したりします。 それらすべてを持続可能な方法で常に追跡しつづけることは、簡単なことではありません。</p> </div> <div class="section" id="id5"> <h3>Launchpad: 開発をもっと効果的に、摩擦は少なく<a class="headerlink" href="#id5" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Canonical は、 <a class="reference external" href="http://www.ubuntu.com">Ubuntu</a> や <a class="reference external" href="http://bazaar.canonical.com">Bazaar</a> の開発に出資しているのと同じように、 オープンソースコミュニティ向けの無料のサービスとして Launchpad <<a class="reference external" href="https:launchpad.net">https:launchpad.net</a>> も提供しています。 Launchpadは、以下の注目すべき理由から、もっともエキサイティングな CDEsのひとつです。</p> <ul class="simple"> <li>トラッキング対象のたくさんのもの同士の関係を具体化しています。 たとえば、ソースコードのブランチをバグ修正に関連づけることができます。</li> <li>これまでの資産を管理するのと同じように、ロードマップ、マイルストーン、ブループリントの機能によってこれからの開発の計画や追跡もできます。</li> <li>翻訳ツールやパッケージングサービスを提供することで、翻訳者やテスターがコミュニティに参加し、貢献するときの抵抗を少なくしています。</li> <li>違うコミュニティ同士が、関連する案件やロードマップに対してともに作業するための結びつきを提供します。</li> </ul> <p>言いかえると、Launchpadは、あなたのコミュニティの成長を助け、 <em>コミュニティ内</em> と<em>コミュニティ間</em> との両方でワークフローの摩擦を減らすようにデザインされています。 究極的には、機械的なタスクにつかう時間をなくし、興味ぶかい開発により多くの時間をさけるようにすることを意味しています。</p> </div> <div class="section" id="bazaar-launchpad"> <h3>Bazaar: Launchpadのバージョン管理クライアント<a class="headerlink" href="#bazaar-launchpad" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>このチュートリアルは、BazaarとLaunchpadがどのようにして一緒に使うことができ、どれだけお互いを引き立てあうのかを考えます。 以下のことは覚えておいてください。:</p> <ol class="arabic simple"> <li>BazaarはLaunchpadなしで使うこともできます。</li> <li>LaunchpadはBazaarなしで使うこともできます。</li> </ol> <p>それでも、別々に使うよりも一緒に使った方がより大きな力を発揮するように設計されています。</p> </div> </div> <div class="section" id="id6"> <h2>Launchpadでのブランチの検索、閲覧<a class="headerlink" href="#id6" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="id7"> <h3>利用できるブランチの検索<a class="headerlink" href="#id7" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>分散型バージョン管理を導入することには多くの利点がありますが、できなくなってしまうことのひとつとして、利用できるすべてのブランチについて知っている中央サーバがないという点があります。 実際、分散環境では、関連するブランチは、インターネット中の文字どおり100もの場所に存在する可能性があります。(もしくは、イントラネットの中でも同様です。)</p> <p>Launchpadは、ブランチのデータベースを提供することによって、このギャップをなくします。</p> </div> <div class="section" id="id8"> <h3>ブランチの登録<a class="headerlink" href="#id8" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>ブランチはLaunchPadにアップロードすることもできますし、別の場所にあるブランチを単に登録することもできます。 また、ブランチには <em>New(新規)</em> 、 <em>Development(開発バージョン)</em> 、 <em>Mature(安定)</em> 、 <em>Abandoned(破棄)</em> というステータスを付加することができます。</p> <p>Note: 外部のブランチは、CVSやSubversionのような従来のバージョン管理ツールでホストされていても構いません。 これらのシステム上のコードは定期的にスキャンされ、Bazaarのブランチに変換されます。 もちろん、最大限の正確さを求めるのであれば、外部のブランチをBazaarでホストすることが望ましいです。</p> </div> <div class="section" id="id9"> <h3>ブランチの閲覧<a class="headerlink" href="#id9" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>ブランチは、名前、登録者、作者、ステータス、世代、最終コミット時刻などの多くの属性によってリストアップやフィルタリング、並べ替えができます。 また、ブランチを閲覧することによって、以下のようなことが簡単に分かります。:</p> <ul class="simple"> <li>ブランチがどこからダウンロードできるか</li> <li>変更をアップロードする方法</li> <li>それぞれで行った最近のコミットと変更内容</li> <li>指定したバージョンの個々のファイルのソースコード</li> </ul> </div> </div> <div class="section" id="id10"> <h2>Launchpad上のコードへのBazaarでのアクセス<a class="headerlink" href="#id10" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="id11"> <h3>プロジェクトのコードの取得<a class="headerlink" href="#id11" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Launchpad 上には多数のプロジェクトがあり、その最新のコードがBazaarで 管理されていても、CVSやSubversionで管理されていても、Bazaarを使って 以下のように簡単にコードを取得することができます。</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">project</span><span class="o">-</span><span class="n">name</span> </pre></div> </div> <p><cite>project-name</cite> は、Launchpad上のプロジェクトIDです。以下にいくつか例を挙げます。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">inkscape</span> <span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">amarok</span> <span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">python</span> <span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">rails</span> <span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">java</span><span class="o">-</span><span class="n">gnome</span> </pre></div> </div> <p>そのあと、好きなエディタやIDEを使って、コードを手元で参照したり、必要があれば編集したりすることができます。</p> <p>もし、プロジェクトに複数のシリーズ(例えば、開発用とメンテナンス用)が登録されている場合は、以下のコマンドで指定したシリーズの最新のコードを取得することができます。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="n">project</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">series</span> </pre></div> </div> </div> <div class="section" id="id12"> <h3>変更内容の公開<a class="headerlink" href="#id12" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>イライラするバグを修正したり、ずっと欲しかったクールな機能を追加したりしたら、それを友達にアピールしたり、そのコードを他の人に公開して世の中をもっと良くするときです。 これまでに説明したとおり、LaunchpadはBazaarによる無料のコードホスティングサービスなので、自分のブランチをプッシュして他の人がそこからコードにアクセスできるようにすることができます。 例えば、あなたが関連するチームのメンバーだとすると、以下のようにLaunchpadにログインします。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">launchpad</span><span class="o">-</span><span class="n">login</span> <span class="n">userid</span> </pre></div> </div> <p><cite>userid</cite> は、LaunchpadのユーザIDです。 そのあと、以下のように変更をチームのブランチにプッシュすることができます。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">push</span> <span class="n">lp</span><span class="p">:</span><span class="o">~</span><span class="n">team</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">project</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">branch</span><span class="o">-</span><span class="n">name</span> </pre></div> </div> <p>他の人は、以下のようにそのコードをダウンロードすることができます。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="o">~</span><span class="n">team</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">project</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">branch</span><span class="o">-</span><span class="n">name</span> </pre></div> </div> </div> <div class="section" id="id13"> <h3>自分用のブランチ<a class="headerlink" href="#id13" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>あなたがチームのメンバーではなかったとしても、Launcpadであなたの変更内容を公開することができます。 この場合、以下のようにして単純に自分用のブランチを作成します。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">push</span> <span class="n">lp</span><span class="p">:</span><span class="o">~</span><span class="n">userid</span><span class="o">/</span><span class="n">project</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">branch</span><span class="o">-</span><span class="n">name</span> </pre></div> </div> <p>他の人は、以下のようにそのコードをダウンロードすることができます。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">lp</span><span class="p">:</span><span class="o">~</span><span class="n">userid</span><span class="o">/</span><span class="n">project</span><span class="o">-</span><span class="n">name</span><span class="o">/</span><span class="n">branch</span><span class="o">-</span><span class="n">name</span> </pre></div> </div> <p>Note: 自分用のブランチに公開したときも、ちゃんと上流の開発者にあなたのブランチについて通知されるので、全てのユーザに一般的に適用できる内容で、かつプロジェクトの品質基準を満たしていれば、彼らはその変更をプルすることができます。</p> </div> <div class="section" id="id14"> <h3>パッケージのソースブランチ<a class="headerlink" href="#id14" title="このヘッドラインへのパーマリンク">¶</a></h3> <p><cite>maintaining packages for Ubuntu using Bazaar</cite> に書かれているとおり、 Launchpad から簡単にパッケージのソースブランチにアクセスできます。 現在の(デフォルトの)系列のパッケージのソースブランチは、次のようなコマンドで ダウンロードできます。</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">ubuntu</span><span class="p">:</span><span class="n">package</span> </pre></div> </div> <p>ここで、 <em>package</em> はアクセスしたい Ubuntu のパッケージ名です。 Ubuntu の特定の系列 (例: Maverick, Lucid) のパッケージブランチを ダウンロードするには、次のコマンドを使います。</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">ubuntu</span><span class="p">:</span><span class="n">maverick</span><span class="o">/</span><span class="n">package</span> </pre></div> </div> <p>Ubuntu の系列は単に最初の文字を使う形に省略することができます。 たとえば、上の例は次のようにも書けます。</p> <blockquote> <div>bzr branch ubuntu:m/package</div></blockquote> <p>いくつかの Debian の系列でも、 Launchpad からソースブランチをダウンロードする ことができます。デフォルトの系列であれば次のようにダウンロードできます。</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">debianlp</span><span class="p">:</span><span class="n">package</span> </pre></div> </div> <p>そして、特定の系列の場合は次のようになります。</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">branch</span> <span class="n">debianlp</span><span class="p">:</span><span class="n">lenny</span><span class="o">/</span><span class="n">package</span> </pre></div> </div> <p><code class="docutils literal"><span class="pre">debianlp:</span></code> スキーマは Launchpad にある Debian のソースブランチにしか アクセスできないので注意してください。</p> </div> </div> <div class="section" id="lanchpad"> <h2>Lanchpadでのブランチの関連づけ<a class="headerlink" href="#lanchpad" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="id15"> <h3>ブランチをバグと関連付ける<a class="headerlink" href="#id15" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>ブランチを登録したあと、それにバグを関連づけることができます。 そうすることで、そのバグに関心をもつ人々がそのブランチを追いかけ、修正が公開されたらダウンロードすることができます。</p> <p>そのための手順は以下のとおりです。</p> <ol class="arabic simple"> <li>Questionから、そのバグに移動します。</li> <li><cite>Actions</cite> から <cite>Add branch</cite> を選択します。</li> <li>ブランチを選択します。</li> <li>必要に応じて、関連づけのステータスを設定します。 <em>Fix In Progress(修正中)</em> がデフォルトですが、すでにブランチ内にで問題に対処しているのなら、<em>Fix Available(修正済)</em> に設定することもできます。</li> </ol> <p>もし望むのなら、バグとブランチとの関連づけに好きなコメントをつけることもできます。</p> </div> <div class="section" id="bazaarlaunchpad"> <h3>BazaarでのコミットによるLaunchpadのステータスの変化<a class="headerlink" href="#bazaarlaunchpad" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>BazzarとLaunchpadを一緒につかうことで、ステータスのメンテナンス作業をへらすことができます。 Bazaarでコミットしたときに、以下のように–fixesオプションを指定します。:</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">bzr</span> <span class="n">commit</span> <span class="o">--</span><span class="n">fixes</span> <span class="n">lp</span><span class="p">:</span><span class="mi">1234</span> <span class="o">-</span><span class="n">m</span> <span class="s2">"..."</span> </pre></div> </div> <p>この1234というのはバグIDです。こうすると、バグ-ブランチ間の関連づけのステータスが <em>Fix Available</em> に変わります。 一回のコミットで複数の問題を修正する場合には、–fixesオプションを複数回指定できます。</p> <p>この機能のすばらしい点のひとつは、コミットするときにLaunchpadにアクセスできなくてもいいということです。 <code class="docutils literal"><span class="pre">--fixes</span></code> オプションではメタデータを保存し、次にそのブランチがLaunchpadにプッシュされたときか、オンラインで再スキャンされたときに、Launchpadはそのメタデータを検出します。</p> <p>Note: Launchpadは、ブランチでバグが修正されたからといって勝手にバグをクローズすることはありません。 これにはいくつかの理由があります。 一つ目の理由は、ほとんどのチームでは、たいていブランチをトランク(メインの開発ブランチ)にマージしないとバグが修正されたとはみなさないためです。 二つ目の理由は、多くのチームでは、バグが修正されたことを確認するためには、「開発者がそう言っている」というだけではなくそれ以外のプロセスがあるためです。</p> <p>あとで説明しますが、マージ管理機能が現在Launchpadで開発されており、この機能がリリースされれば、バグのステータスを <em>Fix Committed</em> に自動変更する機能がもっと適切なものになります。</p> </div> <div class="section" id="id16"> <h3>ブランチをブループリントと関連づける<a class="headerlink" href="#id16" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>ブランチを登録したあと、それにブループリントを関連付けることができます。 そうすることで、そのブループリントに関心を持つ人々がそのブランチを追いかけ、開発中の新機能をテストすることができます。</p> <p>そのための手順は以下の通りです。</p> <ol class="arabic simple"> <li>Questionから、そのブループリントに移動します。</li> <li><cite>Actions</cite> から <cite>Link branch</cite> を選択します。</li> <li>ブランチを選択します。</li> </ol> <p>もし望むのなら、ブループリントとブランチとの関連づけに好きなコメントをつけることもできます。</p> </div> </div> <div class="section" id="id17"> <h2>Launchpadをつかったリリースの管理<a class="headerlink" href="#id17" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="id18"> <h3>変更内容の統合<a class="headerlink" href="#id18" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>ブランチが開発され、公開されたら、コミュニティでは一般的に、その変更内容をコアプロダクトに統合してエンドユーザにリリースする前に厳格なプロセスを通します。 その中には、以下のような手順が含まれるでしょう。:</p> <ul class="simple"> <li>仲間による変更内容のレビュー</li> <li>どのリリースにその変更を含めるかの決定。たとえば、次のメンテナンスリリース、次のメジャーリリース、もしくはその両方。</li> <li>機能の回帰テストの実行</li> <li>パフォーマンスが基準を満たすかどうかを確認するためのベンチマーキング</li> <li>エンドユーザテストのための早期提供リリースの作成</li> <li>ドキュメントの更新。たとえば、そのリリースのためのリリースノートなど</li> <li>ユーザインターフェイスやドキュメントの他言語への翻訳</li> </ul> <p>このセクションでは、プロダクトのコードの品質を高めるために役立つLaunchpadの機能のいくつかについて簡単に説明します。 Bazaarとの強力な一体化が、それをスムーズにするためのポイントです。</p> <p>Note: 以下にあげる機能の中には、まだ開発中のものもあります。 もし、これらの機能に興味があるのなら、以下のリンクでLaunchpadベータテストチームへの参加を検討してください。: <a class="reference external" href="https://help.launchpad.net/JoiningLaunchpadBetaTesters">https://help.launchpad.net/JoiningLaunchpadBetaTesters</a> そうすれば、各機能の早期提供版を手に入れて、広くリリースされる前に開発者にフィードバックを送ることができます。</p> </div> <div class="section" id="id19"> <h3>ブランチのマージの提案<a class="headerlink" href="#id19" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Launchpadでブランチに移動したあとに実行できるアクションのひとつに、 <em>Propose for merging(マージの提案)</em> があります。 この機能では、どのブランチがこのコードを取り入れるべきかを指定します。</p> <p>どのブランチがコードラインへのマージ提案中なのかという情報を追跡することは、リリース管理者が、リリース日までに何を完了させなければならないか、または何を完了させることができるかを常に把握するために役立ちます。 この情報をもとに、必要なレビューを実行してからブランチをマージすることを確実に行うことができます。 単純なケースでは、リリース管理者は手作業でブランチをマージします。 もっと高度なケースでは、ブランチがあるべきステータス(たとえば、 <em>Review completed(レビュー完了)</em>)になったときにロボット(<a class="reference external" href="https://launchpad.net/pqm">PQM</a> のような)に自動的にマージさせることができます。</p> </div> <div class="section" id="id20"> <h3>コードレビューの追跡<a class="headerlink" href="#id20" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>コードレビューの状態や会話の内容、成果物を追跡するために、Launchpadでたくさんの機能が開発されています。 これらの機能は、ブランチのマージ提案やブランチ閲覧の機能に統合されると思われます。</p> </div> <div class="section" id="ppa"> <h3>パーソナルパッケージアーカイブ(PPA)<a class="headerlink" href="#ppa" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>PPAは、開発者や開発チームが、早期提供版でテストとフィードバックを行うユーザにカスタムビルドモジュールを渡す手助けをします。 言い方を変えると、PPAによって、開発者はその変更内容に関心を持つテスターのコミュニティを結成することができるようになります。 テスティングコミュニティは、パッケージをインストールし、テスト期間中にそれを実行し、その後はシステムからきれいに削除することができます。</p> <p>より詳細な情報は、 <a class="reference external" href="https://help.launchpad.net/PPAQuickStart">https://help.launchpad.net/PPAQuickStart</a> を参照してください。</p> </div> <div class="section" id="id21"> <h3>翻訳<a class="headerlink" href="#id21" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Launchpadの翻訳モジュールは、誰もがアプリケーションを自分が知る言語に簡単に翻訳できるように設計されています。 翻訳者は、深いレベルの詳細を知る必要はありません。</p> <p>Launchpadは、プロジェクトの各メジャーバージョンに対する翻訳を別々に記録するので、だれかが新しい開発バージョンの作業を始めていても、安定版の翻訳の改良を続けることができます。 プロジェクトをまたがってリソースを共有することにより、翻訳のスピードを短縮しています。 75万件の翻訳済みのテキストのライブラリからの自動抽出機能と、1万9千人の翻訳者のコミュニティとが、プロジェクトを多くの言語に翻訳する時間を短縮してくれます。</p> </div> </div> <div class="section" id="id22"> <h2>要約<a class="headerlink" href="#id22" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>私たちが参加するコミュニティは、それがオフラインであれオンラインであれ、私たちがどのような種類の人間であるかを表すものです。 逆に言うと、あなたがコミュニティのために選ぶツール - 特に、CDEとバージョン管理ツール - は、誰がそのコミュニティに参加するのかということ、また、その人たちがどれだけ簡単にコミュニティに貢献できるかということに大きな影響を与えます。</p> <p>LaunchpadとBazaarは、単独でもとても役に立つツールです。 一緒に使えば、以下のことが可能になります。:</p> <ul class="simple"> <li>コミュニティの、ソースコードやナレッジのような資産の追跡を助ける。</li> <li>コミュニティへの参加の妨げを軽減して、コミュニティの成長を促す。</li> <li>関係するコミュニティとのやりとりを助ける。</li> </ul> <p>具体的には、LaunchpadはあなたのBazaarブランチを管理する無料のコードホスティングサービスであり、ブランチをオンラインで閲覧でき、ブランチとバグやブループリントを関連づけることができ、Bazaarへのコミット時にバグについて記述することによってブランチ-バグ間のステータスを自動的に変更することができます。 <em>すばらしいアイデア</em> を、 <em>エンドユーザの元で実行されるコード</em> にするまでのプロセスを合理化するための、より進んだ統合機能が現在開発中です。</p> <p>もし、BazaarとLaunchpadがさらにどのように統合されてほしいかについて、何かフィードバックすることがあるのなら、Bazzarメーリングリストで私たちに連絡してください。 <a class="reference external" href="mailto:bazaar%40lists.canonical.com">bazaar<span>@</span>lists<span>.</span>canonical<span>.</span>com</a>.</p> <p>Launchpadは自由ソフトウェアプロジェクトをサポートするための無料のサービスとしてデザインされていますが、Canonicalはこれを商業ソフトウェアの開発者にも、その要望次第で提供することができます。 オープンソースであってもなくても、Launchpadがあなたのコミュニティの運営に役立つと考えていただけるのならば幸いです。</p> </div> </div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <h3><a href="../index.html">目次</a></h3> <ul> <li><a class="reference internal" href="#">LaunchpadでBazaarを使う</a><ul> <li><a class="reference internal" href="#id1">動機付け</a><ul> <li><a class="reference internal" href="#id2">コミュニティはチームとは違う</a></li> <li><a class="reference internal" href="#id3">協調開発に必要なもの</a></li> <li><a class="reference internal" href="#id4">関係するコミュニティとの協調を助ける</a></li> <li><a class="reference internal" href="#id5">Launchpad: 開発をもっと効果的に、摩擦は少なく</a></li> <li><a class="reference internal" href="#bazaar-launchpad">Bazaar: Launchpadのバージョン管理クライアント</a></li> </ul> </li> <li><a class="reference internal" href="#id6">Launchpadでのブランチの検索、閲覧</a><ul> <li><a class="reference internal" href="#id7">利用できるブランチの検索</a></li> <li><a class="reference internal" href="#id8">ブランチの登録</a></li> <li><a class="reference internal" href="#id9">ブランチの閲覧</a></li> </ul> </li> <li><a class="reference internal" href="#id10">Launchpad上のコードへのBazaarでのアクセス</a><ul> <li><a class="reference internal" href="#id11">プロジェクトのコードの取得</a></li> <li><a class="reference internal" href="#id12">変更内容の公開</a></li> <li><a class="reference internal" href="#id13">自分用のブランチ</a></li> <li><a class="reference internal" href="#id14">パッケージのソースブランチ</a></li> </ul> </li> <li><a class="reference internal" href="#lanchpad">Lanchpadでのブランチの関連づけ</a><ul> <li><a class="reference internal" href="#id15">ブランチをバグと関連付ける</a></li> <li><a class="reference internal" href="#bazaarlaunchpad">BazaarでのコミットによるLaunchpadのステータスの変化</a></li> <li><a class="reference internal" href="#id16">ブランチをブループリントと関連づける</a></li> </ul> </li> <li><a class="reference internal" href="#id17">Launchpadをつかったリリースの管理</a><ul> <li><a class="reference internal" href="#id18">変更内容の統合</a></li> <li><a class="reference internal" href="#id19">ブランチのマージの提案</a></li> <li><a class="reference internal" href="#id20">コードレビューの追跡</a></li> <li><a class="reference internal" href="#ppa">パーソナルパッケージアーカイブ(PPA)</a></li> <li><a class="reference internal" href="#id21">翻訳</a></li> </ul> </li> <li><a class="reference internal" href="#id22">要約</a></li> </ul> </li> </ul> <h4>前のトピックへ</h4> <p class="topless"><a href="tutorial.html" title="前の章へ">Bazaar チュートリアル</a></p> <h4>次のトピックへ</h4> <p class="topless"><a href="centralized_workflow.html" title="次の章へ">集中型ワークフローのチュートリアル</a></p> <div role="note" aria-label="source link"> <h3>このページ</h3> <ul class="this-page-menu"> <li><a href="../_sources/tutorials/using_bazaar_with_launchpad.txt" rel="nofollow">ソースコードを表示</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3>クイック検索</h3> <form class="search" action="../search.html" method="get"> <div><input type="text" name="q" /></div> <div><input type="submit" value="検索" /></div> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>ナビゲーション</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="centralized_workflow.html" title="集中型ワークフローのチュートリアル" >次へ</a></li> <li class="right" > <a href="tutorial.html" title="Bazaar チュートリアル" >前へ</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html">目次 (2.7.0)</a> »</li> <li class="nav-item nav-item-1"><a href="index.html" >チュートリアル</a> »</li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2009-2011 Canonical Ltd. このドキュメントは <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.9 で生成しました。 </div> </body> </html>