Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 27647990744ebd9cfe32398f37f67e20 > files > 3000

bzr-2.6.0-11.1.mga5.i586.rpm

<!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>Using Bazaar with Launchpad &mdash; Bazaar 2.6.0 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.6.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>
    <link rel="shortcut icon" href="../_static/bzr.ico"/>
    <link rel="top" title="Bazaar 2.6.0 documentation" href="../index.html" />
    <link rel="up" title="Tutorials" href="index.html" />
    <link rel="next" title="Centralized Workflow Tutorial" href="centralized_workflow.html" />
    <link rel="prev" title="Bazaar Tutorial" href="tutorial.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="centralized_workflow.html" title="Centralized Workflow Tutorial"
             accesskey="N">next</a></li>
        <li class="right" >
          <a href="tutorial.html" title="Bazaar Tutorial"
             accesskey="P">previous</a> |</li>
<li><a href="http://bazaar.canonical.com/">
    <img src="../_static/bzr icon 16.png" /> Home</a>&nbsp;|&nbsp;</li>
<a href="http://doc.bazaar.canonical.com/en/">Documentation</a>&nbsp;|&nbsp;</li>

        <li><a href="../index.html">Table of Contents (2.6.0)</a> &raquo;</li>

          <li><a href="index.html" accesskey="U">Tutorials</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="using-bazaar-with-launchpad">
<h1>Using Bazaar with Launchpad<a class="headerlink" href="#using-bazaar-with-launchpad" title="Permalink to this headline">¶</a></h1>
<div class="section" id="motivation">
<h2>Motivation<a class="headerlink" href="#motivation" title="Permalink to this headline">¶</a></h2>
<div class="section" id="communities-are-different-to-teams">
<h3>Communities are different to teams<a class="headerlink" href="#communities-are-different-to-teams" title="Permalink to this headline">¶</a></h3>
<p>The team of people required to create the initial release
of a piece of software may vary in size from one person
to several thousand people. Depending on the requirements,
the challenges involved, both technical and managerial,
can be immense. As explained in the Bazaar User Guide, selecting
&#8220;just right&#8221; processes and using tools like Bazaar to support
matching workflows can greatly help.</p>
<p>Success with software though requires more than a great team - it
requires a healthy, active <em>community</em>. This group is typically
far larger than the team as it includes everyone interested in
the software: the team, users, training partners, support partners,
third-party developers and so on.</p>
<p>Great communities are well understood in the free software community.
Their applicability extends well beyond that though: most
successful commercial software vendors are well skilled at
building and managing the communities that grow up around
their flagship products.</p>
<p>Like great teams, great communities don&#8217;t just happen.
Good policies and guidelines are essential for
fostering the right sort of behaviour and healthy
relationships between participants. For a deeper look at
this topic, see Karl Fogel&#8217;s landmark book:
<a class="reference external" href="http://www.producingoss.com/">Producing Open Source Software</a>.</p>
</div>
<div class="section" id="the-need-for-collaborative-development-environments">
<h3>The need for Collaborative Development Environments<a class="headerlink" href="#the-need-for-collaborative-development-environments" title="Permalink to this headline">¶</a></h3>
<p>An intelligent toolset is also important for tracking and managing
community information and workflows. These tools are called
Collaborative Development Environments (CDEs). These toolsets are
typically web-based and manage things such as announcements,
issues/bugs, questions and answers, downloads, documents and
source code. Some examples of CDEs include
<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> and
<a class="reference external" href="https://www.sdn.sap.com/irj/sdn">SAP Community Network</a>.</p>
</div>
<div class="section" id="helping-communities-work-with-related-communities">
<h3>Helping communities work with related communities<a class="headerlink" href="#helping-communities-work-with-related-communities" title="Permalink to this headline">¶</a></h3>
<p>Many successful products have a huge number of downstream dependencies.
In other words, a new challenge arises with success: dealing with other
communities and understanding how your changes will impact them. This is
most obvious for projects like:</p>
<ul class="simple">
<li>software languages, e.g. Python, PHP, Ruby, Java, Perl, etc.</li>
<li>compilers, e.g. gcc, JDK, etc.</li>
<li>libraries, e.g. zlib, openssl, etc.</li>
<li>frameworks, e.g. Zope, Ruby on Rails, Spring, etc.</li>
</ul>
<p>However it applies equally for popular applications on which add-ons are
built, e.g. Firefox, Thunderbird, OpenOffice.org, Drupal, Wordpress, Joomla,
etc.</p>
<p>Tools that assist communities work together to track and manage
issues and fixes across community boundaries are required. These
tools help people at both ends of the spectrum:</p>
<ul class="simple">
<li>users can report problems in their terms, e.g. rendering of image
type X is broken in application Y on operating system Z</li>
<li>developers can better appreciate the downstream impact of making a
change or fix, e.g. fixing this bug in a graphics library will
make the users of these 5 applications on these 10 operating
systems happy.</li>
</ul>
<p>People in the middle play the essential role of <em>joining the dots</em> and
communicating up and down the line. In many cases, they may also fix the
problem for end users, releasing a patch and pushing a suggested fix
to the upstream development team. Keeping track of all that over time
in a sustainable way is no easy task.</p>
</div>
<div class="section" id="launchpad-more-development-less-friction">
<h3>Launchpad: More development, less friction<a class="headerlink" href="#launchpad-more-development-less-friction" title="Permalink to this headline">¶</a></h3>
<p>As well as sponsoring <a class="reference external" href="http://www.ubuntu.com">Ubuntu</a> and
<a class="reference external" href="http://bazaar.canonical.com">Bazaar</a> development, Canonical
provides Launchpad, &lt;<a class="reference external" href="https://launchpad.net/">https://launchpad.net/</a>&gt;, as a free service
for the community. Launchpad is one of the most
exciting CDEs around for several notable reasons:</p>
<ul class="simple">
<li>it models relationships between many of things tracked, e.g.
source code branches can be associated with bug fixes</li>
<li>as well as managing historical knowledge,
it supports future development planning and tracking by providing
features such as roadmaps, milestones and blueprints</li>
<li>it provides translation tools and packaging services so that
barriers are reduced for translators and testers wishing to
join your community and help out</li>
<li>it provides a nexus for different communities to work
together on related issues and roadmaps.</li>
</ul>
<p>In other words, Launchpad has been designed to help your
community grow and to reduce the workflow friction both
<em>within</em> your community and <em>between</em> communities. Ultimately,
that means less time on mechanical tasks and more time for
interesting development.</p>
</div>
<div class="section" id="bazaar-launchpad-s-vcs-client">
<h3>Bazaar: Launchpad&#8217;s VCS client<a class="headerlink" href="#bazaar-launchpad-s-vcs-client" title="Permalink to this headline">¶</a></h3>
<p>This tutorial looks at how Bazaar and Launchpad can be used together
and how they complement each other. It is important to remember that:</p>
<ol class="arabic simple">
<li>Bazaar can be used without Launchpad</li>
<li>Launchpad can be used without Bazaar.</li>
</ol>
<p>By design though, their sum is greater than the individual
parts.</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="Permalink to this headline">¶</a></h2>
<div class="section" id="finding-available-branches">
<h3>Finding available branches<a class="headerlink" href="#finding-available-branches" title="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</a></h2>
<div class="section" id="getting-the-code-for-a-project">
<h3>Getting the code for a project<a class="headerlink" href="#getting-the-code-for-a-project" title="Permalink to this headline">¶</a></h3>
<p>As Launchpad keeps track of thousands of 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"><div class="highlight"><pre>bzr branch lp:project-name
</pre></div>
</div>
<p>where <cite>project-name</cite> is the Launchpad project ID. Here are some examples:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch lp:inkscape
bzr branch lp:amarok
bzr branch lp:python
bzr branch lp:rails
bzr branch lp:java-gnome
</pre></div>
</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"><div class="highlight"><pre>bzr branch lp:project-name/series
</pre></div>
</div>
</div>
<div class="section" id="publishing-your-changes">
<h3>Publishing your changes<a class="headerlink" href="#publishing-your-changes" title="Permalink to this headline">¶</a></h3>
<p>Having fixed that annoying bug or added that cool feature you&#8217;ve always
wanted, it&#8217;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"><div class="highlight"><pre>bzr launchpad-login userid
</pre></div>
</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"><div class="highlight"><pre>bzr push lp:~team-name/project-name/branch-name
</pre></div>
</div>
<p>Others can then download your code like this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch lp:~team-name/project-name/branch-name
</pre></div>
</div>
</div>
<div class="section" id="personal-branches">
<h3>Personal branches<a class="headerlink" href="#personal-branches" title="Permalink to this headline">¶</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"><div class="highlight"><pre>bzr push lp:~userid/project-name/branch-name
</pre></div>
</div>
<p>Others can then download your code like this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch lp:~userid/project-name/branch-name
</pre></div>
</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&#8217;s
quality standards.</p>
</div>
<div class="section" id="package-source-branches">
<h3>Package source branches<a class="headerlink" href="#package-source-branches" title="Permalink to this headline">¶</a></h3>
<p>When <a class="reference external" href="https://wiki.ubuntu.com/DistributedDevelopment">maintaining packages for Ubuntu using Bazaar</a> you can easily access the
package&#8217;s source branch on Launchpad.  The package&#8217;s source branch in the
current (default) series can be downloaded like this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch ubuntu:package
</pre></div>
</div>
<p>where <em>package</em> is the name of the Ubuntu package you want to access.  To
download the package branch for a specific series in Ubuntu (e.g. Maverick or
Lucid), use this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch ubuntu:maverick/package
</pre></div>
</div>
<p>Ubuntu distroseries can also be abbreviated to just their first letter.  For
example, the above could also be written:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch ubuntu:m/package
</pre></div>
</div>
<p>You can also download the package source branch from Launchpad for several
Debian series.  The default series can be downloaded like this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch debianlp:package
</pre></div>
</div>
<p>and a specific series can be downloaded like this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr branch debianlp:lenny/package
</pre></div>
</div>
<p>Note that the <tt class="docutils literal"><span class="pre">debianlp:</span></tt> scheme access the Debian source branch for a
package from Launchpad only.</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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 &#8211;fixes option like this:</p>
<div class="highlight-python"><div class="highlight"><pre>bzr commit --fixes lp:1234 -m &quot;...&quot;
</pre></div>
</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 &#8211;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="Permalink to this headline">¶</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="Permalink to this headline">¶</a></h2>
<div class="section" id="integrating-changes">
<h3>Integrating changes<a class="headerlink" href="#integrating-changes" title="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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="Permalink to this headline">¶</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&#8217;d like to see Bazaar and Launchpad
further integrated, please contact us on the Bazaar mailing list,
<a class="reference external" href="mailto:bazaar&#37;&#52;&#48;lists&#46;canonical&#46;com">bazaar<span>&#64;</span>lists<span>&#46;</span>canonical<span>&#46;</span>com</a>.</p>
<p>While designed as a free service to support free software 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.</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Using Bazaar with Launchpad</a><ul>
<li><a class="reference internal" href="#motivation">Motivation</a><ul>
<li><a class="reference internal" href="#communities-are-different-to-teams">Communities are different to teams</a></li>
<li><a class="reference internal" href="#the-need-for-collaborative-development-environments">The need for Collaborative Development Environments</a></li>
<li><a class="reference internal" href="#helping-communities-work-with-related-communities">Helping communities work with related communities</a></li>
<li><a class="reference internal" href="#launchpad-more-development-less-friction">Launchpad: More development, less friction</a></li>
<li><a class="reference internal" href="#bazaar-launchpad-s-vcs-client">Bazaar: Launchpad&#8217;s VCS client</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-a-project">Getting the code for a 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>
<li><a class="reference internal" href="#package-source-branches">Package source 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>Previous topic</h4>
  <p class="topless"><a href="tutorial.html"
                        title="previous chapter">Bazaar Tutorial</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="centralized_workflow.html"
                        title="next chapter">Centralized Workflow Tutorial</a></p>
  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/tutorials/using_bazaar_with_launchpad.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="centralized_workflow.html" title="Centralized Workflow Tutorial"
             >next</a></li>
        <li class="right" >
          <a href="tutorial.html" title="Bazaar Tutorial"
             >previous</a> |</li>
<li><a href="http://bazaar.canonical.com/">
    <img src="../_static/bzr icon 16.png" /> Home</a>&nbsp;|&nbsp;</li>
<a href="http://doc.bazaar.canonical.com/en/">Documentation</a>&nbsp;|&nbsp;</li>

        <li><a href="../index.html">Table of Contents (2.6.0)</a> &raquo;</li>

          <li><a href="index.html" >Tutorials</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2009-2011 Canonical Ltd.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
    </div>
  </body>
</html>