Sophie

Sophie

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

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>Sending changes &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="Bazaar User Guide" href="index.html" />
    <link rel="next" title="The journey ahead" href="part2_intro.html" />
    <link rel="prev" title="Using gatekeepers" href="using_gatekeepers.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="part2_intro.html" title="The journey ahead"
             accesskey="N">next</a></li>
        <li class="right" >
          <a href="using_gatekeepers.html" title="Using gatekeepers"
             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">Bazaar User Guide</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="sending-changes">
<h1>Sending changes<a class="headerlink" href="#sending-changes" 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>
<p>In many distributed development scenarios, it isn&#8217;t always feasible for
developers to share task branches by advertising their URLs.
For example, a developer working on a laptop might take it home overnight
so his/her task branches could well be inaccessible when a gatekeeper
in another timezone wants to review or merge it.</p>
<p>Bazaar provides a neat feature to assist here: <em>merge directives</em>.</p>
</div>
<div class="section" id="understanding-merge-directives">
<h2>Understanding merge directives<a class="headerlink" href="#understanding-merge-directives" title="Permalink to this headline">¶</a></h2>
<p>You can think of a merge directive as a &#8220;mini branch&#8221; - just the
new growth on a branch since it was created. It&#8217;s a software
patch showing what&#8217;s new but with added intelligence: metadata
like interim commits, renames and digital signatures.</p>
<p>Another useful metaphor is a packet cake: a merge directive has a recipe
together with the ingredients you need bundled inside it.
To stretch the metaphor, the ingredients are all the metadata on the
changes made to the branch; the recipe is instructions on how those
changes ought to be merged, i.e. information for the <tt class="docutils literal"><span class="pre">merge</span></tt> command
to use in selecting common ancestors.</p>
<p>Regardless of how you think of them, merge directives are neat.
They are easy to create, suitable for mailing around as attachments
and can be processed much like branches can on the receiving end.</p>
</div>
<div class="section" id="creating-a-merge-directive">
<h2>Creating a merge directive<a class="headerlink" href="#creating-a-merge-directive" title="Permalink to this headline">¶</a></h2>
<p>To create and optionally send a merge directive, use the <tt class="docutils literal"><span class="pre">send</span></tt> command.</p>
<p>By default, <tt class="docutils literal"><span class="pre">send</span></tt> will email the merge directive to the &#8220;submission
address&#8221; for the branch, which is typically the lead developer or the
development mailing list.
<tt class="docutils literal"><span class="pre">send</span></tt> without options will create a merge directive, fire up your email
tool and attach it, ready for you to add the explanatory text bit.
(See the online help for <tt class="docutils literal"><span class="pre">send</span></tt> and
<a class="reference external" href="../user-reference/index.html#configuration-settings">Configuration Settings</a>
in the User Reference for further details on how to configure this.)</p>
<p>Most projects like people to add some explanation to the mail along with
the patch, explaining the reason for the patch, and why it is done the way
it is.  This gives a reviewer some context before going into the
line-by-line diff.</p>
<p>Alternatively, if the <tt class="docutils literal"><span class="pre">--output</span></tt> (or <tt class="docutils literal"><span class="pre">-o</span></tt>) option is given, <tt class="docutils literal"><span class="pre">send</span></tt>
will write the merge directive to a file, so you can mail it yourself,
examine it, or save it for later use.  If an output file of <tt class="docutils literal"><span class="pre">-</span></tt> is
given, the directive is written to stdout.  For example:</p>
<div class="highlight-python"><div class="highlight"><pre>cd X-fix-123
bzr send -o ../fix-123.patch
</pre></div>
</div>
</div>
<div class="section" id="applying-a-merge-directive">
<h2>Applying a merge directive<a class="headerlink" href="#applying-a-merge-directive" title="Permalink to this headline">¶</a></h2>
<p>Merge directives can be applied in much the same way as branches: by
using the <tt class="docutils literal"><span class="pre">merge</span></tt> and <tt class="docutils literal"><span class="pre">pull</span></tt> commands.</p>
<p>They can also be useful when communicating with upstream projects
that don&#8217;t use Bazaar. In particular, the preview of the overall
change in a merge directive looks like a vanilla software patch, so
they can be applied using <tt class="docutils literal"><span class="pre">patch</span> <span class="pre">-p0</span></tt> for example.</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="#">Sending changes</a><ul>
<li><a class="reference internal" href="#motivation">Motivation</a></li>
<li><a class="reference internal" href="#understanding-merge-directives">Understanding merge directives</a></li>
<li><a class="reference internal" href="#creating-a-merge-directive">Creating a merge directive</a></li>
<li><a class="reference internal" href="#applying-a-merge-directive">Applying a merge directive</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="using_gatekeepers.html"
                        title="previous chapter">Using gatekeepers</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="part2_intro.html"
                        title="next chapter">The journey ahead</a></p>
  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/user-guide/sending_changes.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="part2_intro.html" title="The journey ahead"
             >next</a></li>
        <li class="right" >
          <a href="using_gatekeepers.html" title="Using gatekeepers"
             >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" >Bazaar User Guide</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>