<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>LaunchpadでBazaarを使う — Bazaar v2.2.4 documentation</title> <link rel="stylesheet" href="../_static/default.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.2.4', 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="top" title="Bazaar v2.2.4 documentation" 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> <div class="related"> <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><a href="../index.html">目次 (2.2.4)</a> »</li> <li><a href="index.html" accesskey="U">チュートリアル</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <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><a class="reference external" href="http://www.ubuntu.com">Ubuntu</a> の開発に出資しているのと同じように、Canonicalはオープンソースコミュニティ向けの無料のサービスとして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="finding-and-browsing-branches-using-launchpad"> <h2>Finding and browsing branches using Launchpad<a class="headerlink" href="#finding-and-browsing-branches-using-launchpad" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="finding-available-branches"> <h3>Finding available branches<a class="headerlink" href="#finding-available-branches" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>While there are many advantages in adopting distributed version control, one of the things that disappears is the all-knowing central server with knowledge about all available branches. Indeed in a distributed environment, interesting branches can literally exist in 100s of locations across the Internet (or within an Intranet for that matter).</p> <p>Launchpad fills this gap by providing a registry of branches.</p> </div> <div class="section" id="registering-branches"> <h3>Registering branches<a class="headerlink" href="#registering-branches" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Branches can be uploaded to Launchpad or simply registered as being available in an external location. Branches can also be given a Status such as <em>New</em>, <em>Development</em>, <em>Mature</em> or <em>Abandoned</em>.</p> <p>Note: External branches can even be hosted in legacy version control tools, i.e. CVS and Subversion. Code in these systems will be scanned and converted to Bazaar branches on a periodic basis. For maximum fidelity of course, it is preferable for external branches to be hosted in Bazaar.</p> </div> <div class="section" id="browsing-branches"> <h3>Browsing branches<a class="headerlink" href="#browsing-branches" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Branches can be listed, filtered and sorted by numerous attributes including Name, Registrant, Author, Status, Age and time of last commit. Browsing of branches is also provided making it easy to see things such as:</p> <ul class="simple"> <li>where the branch can be downloaded from</li> <li>how to upload changes</li> <li>recent commits and the changes made by each</li> <li>the source code of individual files for a given version.</li> </ul> </div> </div> <div class="section" id="accessing-code-in-launchpad-using-bazaar"> <h2>Accessing code in Launchpad using Bazaar<a class="headerlink" href="#accessing-code-in-launchpad-using-bazaar" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="getting-the-code-for-an-open-source-project"> <h3>Getting the code for an open source project<a class="headerlink" href="#getting-the-code-for-an-open-source-project" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>As Launchpad keeps track of thousands of open source projects and their latest code whether it be managed by Bazaar, CVS or Subversion, Bazaar users can grab that code as easily as this:</p> <div class="highlight-python"><pre>bzr branch lp:project-name</pre> </div> <p>where <cite>project-name</cite> is the Launchpad project ID. Here are some examples:</p> <div class="highlight-python"><pre>bzr branch lp:inkscape bzr branch lp:amarok bzr branch lp:python bzr branch lp:rails bzr branch lp:java-gnome</pre> </div> <p>You can then browse the code locally using your favorite editor or IDE and change the code if you wish.</p> <p>If a project has multiple series registered (e.g. a development series and a maintenance series), the latest code for a given series can be fetched using:</p> <div class="highlight-python"><pre>bzr branch lp:project-name/series</pre> </div> </div> <div class="section" id="publishing-your-changes"> <h3>Publishing your changes<a class="headerlink" href="#publishing-your-changes" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Having fixed that annoying bug or added that cool feature you’ve always wanted, it’s time to impress your friends and make the world a better place by making your code available to others. As explained earlier, Launchpad is a free Bazaar code hosting service so you can push your branch to it and others can access your code from there. For example, assuming you are a member of the relevant team, login to launchpad like this:</p> <div class="highlight-python"><pre>bzr launchpad-login userid</pre> </div> <p>where <cite>userid</cite> is your Launchpad user ID. You can then push your changes to a team branch like this:</p> <div class="highlight-python"><pre>bzr push lp:~team-name/project-name/branch-name</pre> </div> <p>Others can then download your code like this:</p> <div class="highlight-python"><pre>bzr branch lp:~team-name/project-name/branch-name</pre> </div> </div> <div class="section" id="personal-branches"> <h3>Personal branches<a class="headerlink" href="#personal-branches" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Even if you are not a member of a team, Launchpad can be used to publish your changes. In this case, simply create a personal branch like this:</p> <div class="highlight-python"><pre>bzr push lp:~userid/project-name/branch-name</pre> </div> <p>Others can then download your code like this:</p> <div class="highlight-python"><pre>bzr branch lp:~userid/project-name/branch-name</pre> </div> <p>Note: Even when publishing to a personal branch, it is polite to notify the upstream developers about your branch so they can pull your changes from it if they are generally applicable to all users and meet the project’s quality standards.</p> </div> </div> <div class="section" id="linking-branches-using-launchpad"> <h2>Linking branches using Launchpad<a class="headerlink" href="#linking-branches-using-launchpad" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="associating-a-branch-with-a-bug"> <h3>Associating a branch with a bug<a class="headerlink" href="#associating-a-branch-with-a-bug" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>After registering a branch, you can associate it to a bug so that people interested in that bug can track and download the fix as it becomes available.</p> <p>To do this, the steps are:</p> <ol class="arabic simple"> <li>Navigate to the bug in question.</li> <li>Select <cite>Add branch</cite> under <cite>Actions</cite>.</li> <li>Select the branch.</li> <li>Optionally set the State of the relationship. This is <em>Fix In Progress</em> by default but you may wish to set it to another state such as <em>Fix Available</em> if the branch already addresses the issue.</li> </ol> <p>If you wish, you can also provide some arbitrary comments about the relationship between the bug and the branch.</p> </div> <div class="section" id="changing-the-state-in-launchpad-while-committing-in-bazaar"> <h3>Changing the state in Launchpad while committing in Bazaar<a class="headerlink" href="#changing-the-state-in-launchpad-while-committing-in-bazaar" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Bazaar and Launchpad can work together to reduce some of the status housekeeping for you. When you commit using Bazaar, use the –fixes option like this:</p> <div class="highlight-python"><pre>bzr commit --fixes lp:1234 -m "..."</pre> </div> <p>where 1234 is the bug ID. This will changes the State of the bug-branch relationship to <em>Fix Available</em>. If the one commit fixes multiple issues, the –fixes option can be specified multiple times.</p> <p>One of the cool things about this feature is that Launchpad does not need to be accessible when making the commit. The <tt class="docutils literal"><span class="pre">--fixes</span></tt> option works by storing metadata which Launchpad will detect next time the branch is pushed to it or scanned once online again.</p> <p>Note: Launchpad will not implicitly close a bug just because a branch is available that fixes it. There are several reasons for this. Firstly, the branch usually needs to be merged into the trunk (main development branch) before most teams consider it fixed. Secondly, many teams have a separate process for confirming bugs are fixed over and above a developer saying so.</p> <p>As explained later, merge control features are currently under development in Launchpad and automatically changing the status of bugs to <em>Fix Committed</em> will be more appropriate once those features are in place.</p> </div> <div class="section" id="associating-a-branch-with-a-blueprint"> <h3>Associating a branch with a blueprint<a class="headerlink" href="#associating-a-branch-with-a-blueprint" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>After registering a branch, you can associate it to a blueprint so that people interested in that blueprint can track and test the feature as it develops.</p> <p>To do this, the steps are:</p> <ol class="arabic simple"> <li>Navigate to the blueprint in question.</li> <li>Select <cite>Link branch</cite> under <cite>Actions</cite>.</li> <li>Select the branch.</li> </ol> <p>If you wish, you can also provide some arbitrary comments about the relationship between the blueprint and the branch.</p> </div> </div> <div class="section" id="managing-releases-using-launchpad"> <h2>Managing releases using Launchpad<a class="headerlink" href="#managing-releases-using-launchpad" title="このヘッドラインへのパーマリンク">¶</a></h2> <div class="section" id="integrating-changes"> <h3>Integrating changes<a class="headerlink" href="#integrating-changes" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>Once a branch has been developed and published, communities typically go through a rigorous process before those changes are integrated into the core product and rolled out to end users. Some of the steps involved may include:</p> <ul class="simple"> <li>peer review of the changes</li> <li>deciding which releases to include the changes in, e.g. the next maintenance release, the next major release, or both</li> <li>running functional regression tests</li> <li>benchmarking to ensure performance remains acceptable</li> <li>packaging into early access releases for end user testing</li> <li>documentation updates, e.g. Release Notes for the targeted releases</li> <li>translation of the user interface and documentation into multiple languages.</li> </ul> <p>This section briefly looks at some of the features in Launchpad that help get good quality code into production. Strong integration with Bazaar is core to making this happen smoothly.</p> <p>Note: Where indicated, some of the features below are still under development. If one or more of these features interest you, please consider joining the Launchpad beta test team at this link: <a class="reference external" href="https://help.launchpad.net/JoiningLaunchpadBetaTesters">https://help.launchpad.net/JoiningLaunchpadBetaTesters</a>. You can then get early access to features and provide feedback to the developers before wider roll-out.</p> </div> <div class="section" id="branch-merge-proposals"> <h3>Branch merge proposals<a class="headerlink" href="#branch-merge-proposals" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>After navigating to a branch in Launchpad, one of the available actions is <em>Propose for merging</em>. This lets you nominate which branch this code ought to be merged into.</p> <p>Tracking the knowledge about which branches are proposed to be merged into a codeline helps Release Managers keep on top of what still needs to be completed, or can be completed, before a ship date. Using this information, they can ensure branches are merged after completing any necessary reviews. In the simple case, the Release Manager may manually merge branches. In more advanced cases, the merging could be automatically done by a robot (like <a class="reference external" href="https://launchpad.net/pqm">PQM</a>) when the branch reaches the right state (e.g. <em>Review completed</em>).</p> </div> <div class="section" id="code-review-tracking"> <h3>Code review tracking<a class="headerlink" href="#code-review-tracking" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>A number of features are under development in Launchpad to track the states, conversations and outcomes of code reviews. These features are expected to be integrated with branch merge proposals and branch browsing features.</p> </div> <div class="section" id="personal-package-archives-ppas"> <h3>Personal Package Archives (PPAs)<a class="headerlink" href="#personal-package-archives-ppas" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>PPAs help developers and development teams get custom builds into the hands of users for early testing and feedback. In other words, a PPA allows a developer to form a community of testers who are interested in their changes. The testing community can install the packages, run them for the test period and then remove them cleanly from their system.</p> <p>See <a class="reference external" href="https://help.launchpad.net/PPAQuickStart">https://help.launchpad.net/PPAQuickStart</a> for further details.</p> </div> <div class="section" id="translations"> <h3>Translations<a class="headerlink" href="#translations" title="このヘッドラインへのパーマリンク">¶</a></h3> <p>The Translations module in Launchpad is designed to make it easy for anyone to get involved translating applications to languages they know. Translators are shielded from the low level details.</p> <p>Launchpad keeps track of the translations for each major version of a project separately, allowing translators to continue to improve the translations of your stable releases while others start work on newer versions that are still in development. Translation speed in reduced by sharing resources across projects. Automatic suggestions, from a library of 750,000 translated strings, and a community of 19,000 registered translators can radically cut the time required to localise your project into many languages.</p> </div> </div> <div class="section" id="summary"> <h2>Summary<a class="headerlink" href="#summary" title="このヘッドラインへのパーマリンク">¶</a></h2> <p>The communities we join, whether off-line or on-line, say a lot about the sort of people we are. The flip-side to this is that the tools you choose for your community - particularly the CDE and version control tool - can have a large impact on who joins and how easily they can contribute.</p> <p>In their own right, Launchpad and Bazaar are highly useful tools. Together, they can:</p> <ul class="simple"> <li>help your community track major assets such as source code and knowledge</li> <li>help it grow by reducing barriers to entry</li> <li>help it interact with related communities.</li> </ul> <p>In particular, Launchpad is a free code hosting service for your Bazaar branches, branches can be browsed online, branches can be linked to bugs and blueprints, and the status of bug-branch relationships can be automatically managed by mentioning the bug while committing in Bazaar. Further integration is under development with the aim of streamlining the process from <em>great idea</em> to <em>running code in the hands of end users</em>.</p> <p>If you have any feedback on how you’d like to see Bazaar and Launchpad further integrated, please contact us on the Bazaar mailing list, <a class="reference external" href="mailto:bazaar%40lists.canonical.com">bazaar<span>@</span>lists<span>.</span>canonical<span>.</span>com</a>.</p> <p>While designed as a free service to support open source projects, Canonical may make Launchpad available to commercial software developers depending on their requirements. We would be happy to hear from you if you think Launchpad would be useful for managing your community, open source or otherwise.</p> </div> </div> </div> </div> </div> <div class="sphinxsidebar"> <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="#finding-and-browsing-branches-using-launchpad">Finding and browsing branches using Launchpad</a><ul> <li><a class="reference internal" href="#finding-available-branches">Finding available branches</a></li> <li><a class="reference internal" href="#registering-branches">Registering branches</a></li> <li><a class="reference internal" href="#browsing-branches">Browsing branches</a></li> </ul> </li> <li><a class="reference internal" href="#accessing-code-in-launchpad-using-bazaar">Accessing code in Launchpad using Bazaar</a><ul> <li><a class="reference internal" href="#getting-the-code-for-an-open-source-project">Getting the code for an open source project</a></li> <li><a class="reference internal" href="#publishing-your-changes">Publishing your changes</a></li> <li><a class="reference internal" href="#personal-branches">Personal branches</a></li> </ul> </li> <li><a class="reference internal" href="#linking-branches-using-launchpad">Linking branches using Launchpad</a><ul> <li><a class="reference internal" href="#associating-a-branch-with-a-bug">Associating a branch with a bug</a></li> <li><a class="reference internal" href="#changing-the-state-in-launchpad-while-committing-in-bazaar">Changing the state in Launchpad while committing in Bazaar</a></li> <li><a class="reference internal" href="#associating-a-branch-with-a-blueprint">Associating a branch with a blueprint</a></li> </ul> </li> <li><a class="reference internal" href="#managing-releases-using-launchpad">Managing releases using Launchpad</a><ul> <li><a class="reference internal" href="#integrating-changes">Integrating changes</a></li> <li><a class="reference internal" href="#branch-merge-proposals">Branch merge proposals</a></li> <li><a class="reference internal" href="#code-review-tracking">Code review tracking</a></li> <li><a class="reference internal" href="#personal-package-archives-ppas">Personal Package Archives (PPAs)</a></li> <li><a class="reference internal" href="#translations">Translations</a></li> </ul> </li> <li><a class="reference internal" href="#summary">Summary</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> <h3>このページ</h3> <ul class="this-page-menu"> <li><a href="../_sources/tutorials/using_bazaar_with_launchpad.txt" rel="nofollow">ソースコードを表示</a></li> </ul> <div id="searchbox" style="display: none"> <h3>クイック検索</h3> <form class="search" action="../search.html" method="get"> <input type="text" name="q" size="18" /> <input type="submit" value="検索" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> モジュール、クラス、または関数名を入力してください </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <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><a href="../index.html">目次 (2.2.4)</a> »</li> <li><a href="index.html" >チュートリアル</a> »</li> </ul> </div> <div class="footer"> © Copyright 2009, Canonical Ltd. このドキュメントは <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7 で生成しました。 </div> </body> </html>