<!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>bzr 2.0.4 — 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> <link rel="shortcut icon" href="../_static/bzr.ico"/> <link rel="top" title="Bazaar v2.2.4 documentation" href="../index.html" /> <link rel="up" title="Bazaar Release Notes" href="index.html" /> <link rel="next" title="bzr 2.1.0b4" href="bzr-2.1.0b4.html" /> <link rel="prev" title="bzr 2.1.0rc1" href="bzr-2.1.0rc1.html" /> </head> <body> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="bzr-2.1.0b4.html" title="bzr 2.1.0b4" accesskey="N">next</a></li> <li class="right" > <a href="bzr-2.1.0rc1.html" title="bzr 2.1.0rc1" accesskey="P">previous</a> |</li> <li><a href="http://bazaar.canonical.com/"> <img src="../_static/bzr icon 16.png" /> Home</a> | </li> <a href="http://doc.bazaar.canonical.com/en/">Documentation</a> | </li> <li><a href="../index.html">Table of Contents (2.2.4)</a> »</li> <li><a href="index.html" accesskey="U">Bazaar Release Notes</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="bzr-2-0-4"> <h1>bzr 2.0.4<a class="headerlink" href="#bzr-2-0-4" title="Permalink to this headline">¶</a></h1> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> <tr class="field"><th class="field-name">Codename:</th><td class="field-body">smooth sailing</td> </tr> <tr class="field"><th class="field-name">2.0.4:</th><td class="field-body">2010-01-21</td> </tr> </tbody> </table> <p>The fourth bugfix-only release in the 2.0 series contains more than a dozen bugfixes relative to 2.0.3. The primary focus is on handling interruptions and concurrent operations more cleanly, there is also a fair improvement to <tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">export</span></tt> when exporting a remote branch.</p> <div class="section" id="bug-fixes"> <h2>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li><tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">annotate</span></tt> on another branch with <tt class="docutils literal"><span class="pre">-r</span> <span class="pre">branch:...</span></tt> no longer fails with an <tt class="docutils literal"><span class="pre">ObjectNotLocked</span></tt> error. (Andrew Bennetts, #496590)</li> <li><tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">export</span> <span class="pre">dir</span></tt> now requests all file content as a record stream, rather than requsting the file content one file-at-a-time. This can make exporting over the network significantly faster (54min => 9min in one case). (John Arbash Meinel, #343218)</li> <li><tt class="docutils literal"><span class="pre">bzr</span> <span class="pre">serve</span></tt> no longer slowly leaks memory. The compiled <tt class="docutils literal"><span class="pre">bzrlib.bencode.Encoder()</span></tt> class was using <tt class="docutils literal"><span class="pre">__del__</span></tt> to cleanup and free resources, and it should have been using <tt class="docutils literal"><span class="pre">__dealloc__</span></tt>. This will likely have an impact on any other process that is serving for an extended period of time. (John Arbash Meinel, #494406)</li> <li>Check for SIGINT (Ctrl-C) and other signals immediately if <tt class="docutils literal"><span class="pre">readdir</span></tt> returns <tt class="docutils literal"><span class="pre">EINTR</span></tt> by calling <tt class="docutils literal"><span class="pre">PyErr_CheckSignals</span></tt>. This affected the optional <tt class="docutils literal"><span class="pre">_readdir_pyx</span></tt> extension. (Andrew Bennetts, #495023)</li> <li>Concurrent autopacks will no longer lose a newly created pack file. There was a race condition, where if the reload happened at the right time, the second packer would forget the name of the newly added pack file. (John Arbash Meinel, Gareth White, #507566)</li> <li>Give a clearer message if the lockdir disappears after being apparently successfully taken. (Martin Pool, #498378)</li> <li>Give a warning when fetching between repositories (local or remote) with sufficiently different formats that the content will need to be serialized (ie <tt class="docutils literal"><span class="pre">InterDifferingSerializer</span></tt> or <tt class="docutils literal"><span class="pre">inventory-deltas</span></tt>), so the user has a clue that upgrading could make it faster. (Martin Pool, #456077)</li> <li>If we fail to open <tt class="docutils literal"><span class="pre">~/.bzr.log</span></tt> write a clear message to stderr rather than using <tt class="docutils literal"><span class="pre">warning()</span></tt>. The log file is opened before logging is set up, and it leads to very confusing: ‘no handlers for “bzr”’ messages for users, rather than something nicer. (John Arbash Meinel, Barry Warsaw, #503886)</li> <li>Refuse to build with any Pyrex 0.9.4 release, as they have known bugs. (Martin Pool, John Arbash Meinel, #449372)</li> <li><tt class="docutils literal"><span class="pre">setup.py</span> <span class="pre">bdist_rpm</span></tt> now properly finds extra files needed for the build. (there is still the distutils bug <a class="reference external" href="http://bugs.python.org/issue644744">http://bugs.python.org/issue644744</a>) (Joe Julian, #175839)</li> <li>The 2a format wasn’t properly restarting autopacks when something changed underneath it (like another autopack). Now concurrent autopackers will properly succeed. (John Arbash Meinel, #495000)</li> <li><tt class="docutils literal"><span class="pre">TreeTransform</span></tt> can now handle when a delta says that the file id for the tree root changes. Rather than trying to rename your working directory, or failing early saying that you can’t have multiple tree roots. This also fixes revert, update, and pull when the root id changes. (John Arbash Meinel, #494269, #504390)</li> <li><tt class="docutils literal"><span class="pre">_update_current_block</span></tt> no longer suppresses exceptions, so ^C at just the right time will get propagated, rather than silently failing to move the block pointer. (John Arbash Meinel, Gareth White, #495023)</li> </ul> </div> <div class="section" id="testing"> <h2>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>We have a new <tt class="docutils literal"><span class="pre">test_source</span></tt> that ensures all pyrex <tt class="docutils literal"><span class="pre">cdef</span></tt> functions handle exceptions somehow. (Possibly by setting <tt class="docutils literal"><span class="pre">#</span> <span class="pre">cannot_raise</span></tt> rather than an <tt class="docutils literal"><span class="pre">except</span> <span class="pre">?:</span></tt> clause.) This should help prevent bugs like bug #495023. (John Arbash Meinel)</li> </ul> </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="#">bzr 2.0.4</a><ul> <li><a class="reference internal" href="#bug-fixes">Bug Fixes</a></li> <li><a class="reference internal" href="#testing">Testing</a></li> </ul> </li> </ul> <h4>Previous topic</h4> <p class="topless"><a href="bzr-2.1.0rc1.html" title="previous chapter">bzr 2.1.0rc1</a></p> <h4>Next topic</h4> <p class="topless"><a href="bzr-2.1.0b4.html" title="next chapter">bzr 2.1.0b4</a></p> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/release-notes/bzr-2.0.4.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" size="18" /> <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="bzr-2.1.0b4.html" title="bzr 2.1.0b4" >next</a></li> <li class="right" > <a href="bzr-2.1.0rc1.html" title="bzr 2.1.0rc1" >previous</a> |</li> <li><a href="http://bazaar.canonical.com/"> <img src="../_static/bzr icon 16.png" /> Home</a> | </li> <a href="http://doc.bazaar.canonical.com/en/">Documentation</a> | </li> <li><a href="../index.html">Table of Contents (2.2.4)</a> »</li> <li><a href="index.html" >Bazaar Release Notes</a> »</li> </ul> </div> <div class="footer"> © Copyright 2009, Canonical Ltd. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7. </div> </body> </html>