<!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>Bundle Creation — Bazaar 2.7.0 documentation</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> <link rel="shortcut icon" href="_static/bzr.ico"/> <link rel="search" title="Search" href="search.html" /> <link rel="top" title="Bazaar 2.7.0 documentation" href="index.html" /> <link rel="stylesheet" href="_static/bzr-doc.css" type="text/css" /> </head> <body role="document"> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <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 class="nav-item nav-item-0"><a href="index.html">Developer Document Catalog (2.7.0)</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <div class="section" id="bundle-creation"> <h1>Bundle Creation<a class="headerlink" href="#bundle-creation" title="Permalink to this headline">¶</a></h1> <ol class="arabic simple"> <li>Find common ancestor [O(a)] <strong>O(b)</strong></li> <li>Emit bundle [O(a)] <strong>O(b) O(h)</strong></li> </ol> <blockquote> <div><p>Per revision</p> <ol class="arabic simple"> <li>emit metadata O(1)</li> <li>emit changes for files</li> </ol> <blockquote> <div><ol class="arabic simple"> <li>find changed files [O(c)] <strong>O(f)</strong></li> <li>emit file metadata O(d)</li> <li>emit diff [O(e * e) * O(f) + O(h)] <strong>O(i)</strong></li> <li>base64 encode O(g)</li> </ol> </div></blockquote> </div></blockquote> <ol class="arabic simple" start="3"> <li><strong>emit overal diff (or maybe do interdiff) O(e * e) * O(f)</strong></li> </ol> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">a:</th><td class="field-body">nodes in revision graph</td> </tr> <tr class="field-even field"><th class="field-name">b:</th><td class="field-body">number of descendants of common ancestor</td> </tr> <tr class="field-odd field"><th class="field-name">c:</th><td class="field-body">number of files in the tree</td> </tr> <tr class="field-even field"><th class="field-name">d:</th><td class="field-body">length of metadata</td> </tr> <tr class="field-odd field"><th class="field-name">e:</th><td class="field-body">number of lines</td> </tr> <tr class="field-even field"><th class="field-name">f:</th><td class="field-body">number of modified files</td> </tr> <tr class="field-odd field"><th class="field-name">g:</th><td class="field-body">length of diff</td> </tr> <tr class="field-even field"><th class="field-name">h:</th><td class="field-body">nodes in knit graph of modified files</td> </tr> <tr class="field-odd field"><th class="field-name">i:</th><td class="field-body">length of stored diff</td> </tr> </tbody> </table> <div class="section" id="needs"> <h2>Needs<a class="headerlink" href="#needs" title="Permalink to this headline">¶</a></h2> <ul class="simple"> <li>Improved common ancestor algorithm</li> <li>Access to partial revision graph proportional to relevant revisions</li> <li>Access to changed files proportional to number of change files and intervening revisions</li> <li>Use knit deltas without recomputing</li> <li>Access to knit deltas in O(1) time</li> <li>Access to snapshots in O(1) amortized time</li> <li>All snapshots must have knit deltas</li> </ul> </div> </div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <h3><a href="index.html">Table Of Contents</a></h3> <ul> <li><a class="reference internal" href="#">Bundle Creation</a><ul> <li><a class="reference internal" href="#needs">Needs</a></li> </ul> </li> </ul> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="_sources/bundle-creation.txt" rel="nofollow">Show Source</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3>Quick search</h3> <form class="search" action="search.html" method="get"> <div><input type="text" name="q" /></div> <div><input type="submit" value="Go" /></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>Navigation</h3> <ul> <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 class="nav-item nav-item-0"><a href="index.html">Developer Document Catalog (2.7.0)</a> »</li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2009-2011 Canonical Ltd. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.9. </div> </body> </html>