Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > aa02935a5ff0e8c670932b0ced14666f > files > 117

python-dulwich-0.9.0-3.mga4.x86_64.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>dulwich - Python implementation of Git &mdash; dulwich 0.9.0 documentation</title>
    
    <link rel="stylesheet" href="_static/nature.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '0.9.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="top" title="dulwich 0.9.0 documentation" href="#" />
    <link rel="next" title="Possible areas for improvement" href="performance.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="performance.html" title="Possible areas for improvement"
             accesskey="N">next</a> |</li>
        <li><a href="#">dulwich 0.9.0 documentation</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="dulwich-python-implementation-of-git">
<span id="index"></span><h1>dulwich - Python implementation of Git<a class="headerlink" href="#dulwich-python-implementation-of-git" title="Permalink to this headline">¶</a></h1>
<div class="section" id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>This is the Dulwich project.</p>
<p>It aims to give an interface to git repos (both local and remote) that doesn&#8217;t
call out to git directly but instead uses pure Python.</p>
<p>The project is named after the part of London that Mr. and Mrs. Git live in
in the particular Monty Python sketch. It is based on the Python-Git module
that James Westby &lt;<a class="reference external" href="mailto:jw+debian&#37;&#52;&#48;jameswestby&#46;net">jw+debian<span>&#64;</span>jameswestby<span>&#46;</span>net</a>&gt; released in 2007 and now
maintained by Jelmer Vernooij et al.</p>
<p>Please file bugs in the Dulwich project on Launchpad:</p>
<p><a class="reference external" href="https://bugs.launchpad.net/dulwich/+filebug">https://bugs.launchpad.net/dulwich/+filebug</a></p>
<p>The dulwich documentation can be found in doc/ and on the web:</p>
<p><a class="reference external" href="http://www.samba.org/~jelmer/dulwich/docs/">http://www.samba.org/~jelmer/dulwich/docs/</a></p>
<p>The API reference can be generated using pydoctor, by running &#8220;make pydoctor&#8221;, or on the web:</p>
<p><a class="reference external" href="http://www.samba.org/~jelmer/dulwich/apidocs">http://www.samba.org/~jelmer/dulwich/apidocs</a></p>
</div>
<div class="section" id="documentation">
<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="performance.html">Possible areas for improvement</a></li>
<li class="toctree-l1"><a class="reference internal" href="protocol.html">Git Server Protocol</a><ul>
<li class="toctree-l2"><a class="reference internal" href="protocol.html#transport">Transport</a></li>
<li class="toctree-l2"><a class="reference internal" href="protocol.html#protocols">Protocols</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a><ul>
<li class="toctree-l2"><a class="reference internal" href="tutorial/introduction.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorial/repo.html">The repository</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorial/object-store.html">The object store</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorial/remote.html">Remote repositories</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorial/tag.html">Tagging</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorial/conclusion.html">Conclusion</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="section" id="changelog">
<h2>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h2>
<p>0.9.0   2013-05-31</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Push efficiency - report missing objects only. (#562676, Artem Tikhomirov)</li>
<li>Use indentation consistent with C Git in config files.
(#1031356, Curt Moore, Jelmer Vernooij)</li>
<li>Recognize and skip binary files in diff function.
(Takeshi Kanemoto)</li>
<li>Fix handling of relative paths in dulwich.client.get_transport_and_path.
(Brian Visel, #1169368)</li>
<li>Preserve ordering of entries in configuration.
(Benjamin Pollack)</li>
<li>Support ~ expansion in SSH client paths. (milki, #1083439)</li>
<li>Support relative paths in alternate paths.
(milki, Michel Lespinasse, #1175007)</li>
<li>Log all error messages from wsgiref server to the logging module. This
makes the test suit quiet again. (Gary van der Merwe)</li>
<li>Support passing None for empty tree in changes_from_tree.
(Kevin Watters)</li>
<li>Support fetching empty repository in client. (milki, #1060462)</li>
</ul>
</div></blockquote>
<p>IMPROVEMENTS:</p>
<blockquote>
<div><ul class="simple">
<li>Add optional honor_filemode flag to build_index_from_tree.
(Mark Mikofski)</li>
<li>Support core/filemode setting when building trees. (Jelmer Vernooij)</li>
<li>Add chapter on tags in tutorial. (Ryan Faulkner)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Add support for mergetags. (milki, #963525)</li>
<li>Add support for posix shell hooks. (milki)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.7   2012-11-27</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fix use of alternates in <tt class="docutils literal"><span class="pre">DiskObjectStore</span></tt>.{__contains__,__iter__}.
(Dmitriy)</li>
<li>Fix compatibility with Python 2.4. (David Carr)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.6   2012-11-09</p>
<blockquote>
<div><p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>dulwich.__init__ no longer imports client, protocol, repo and
server modules. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>ConfigDict now behaves more like a dictionary.
(Adam &#8216;Cezar&#8217; Jenkins, issue #58)</li>
<li>HTTPGitApplication now takes an optional
<cite>fallback_app</cite> argument. (Jonas Haag, issue #67)</li>
<li>Support for large pack index files. (Jameson Nash)</li>
</ul>
</div></blockquote>
<p>TESTING</p>
<blockquote>
<div><ul class="simple">
<li>Make index entry tests a little bit less strict, to cope with
slightly different behaviour on various platforms.
(Jelmer Vernooij)</li>
<li><tt class="docutils literal"><span class="pre">setup.py</span> <span class="pre">test</span></tt> (available when setuptools is installed) now
runs all tests, not just the basic unit tests.
(Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Commit._deserialize now actually deserializes the current state rather than
the previous one. (Yifan Zhang, issue #59)</li>
<li>Handle None elements in lists of TreeChange objects. (Alex Holmes)</li>
<li>Support cloning repositories without HEAD set.
(D-Key, Jelmer Vernooij, issue #69)</li>
<li>Support <tt class="docutils literal"><span class="pre">MemoryRepo.get_config</span></tt>. (Jelmer Vernooij)</li>
<li>In <tt class="docutils literal"><span class="pre">get_transport_and_path</span></tt>, pass extra keyword arguments on to
HttpGitClient. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.5   2012-03-29</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Avoid use of &#8216;with&#8217; in dulwich.index. (Jelmer Vernooij)</li>
<li>Be a little bit strict about OS behaviour in index tests.
Should fix the tests on Debian GNU/kFreeBSD. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.4   2012-03-28</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Options on the same line as sections in config files are now supported.
(Jelmer Vernooij, #920553)</li>
<li>Only negotiate capabilities that are also supported by the server.
(Rod Cloutier, Risto Kankkunen)</li>
<li>Fix parsing of invalid timezone offsets with two minus signs.
(Jason R. Coombs, #697828)</li>
<li>Reset environment variables during tests, to avoid
test isolation leaks reading ~/.gitconfig. (Risto Kankkunen)</li>
</ul>
</div></blockquote>
<p>TESTS</p>
<blockquote>
<div><ul class="simple">
<li>$HOME is now explicitly specified for tests that use it to read
<tt class="docutils literal"><span class="pre">~/.gitconfig</span></tt>, to prevent test isolation issues.
(Jelmer Vernooij, #920330)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Additional arguments to get_transport_and_path are now passed
on to the constructor of the transport. (Sam Vilain)</li>
<li>The WSGI server now transparently handles when a git client submits data
using Content-Encoding: gzip.
(David Blewett, Jelmer Vernooij)</li>
<li>Add dulwich.index.build_index_from_tree(). (milki)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.3   2012-01-21</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>The config parser now supports the git-config file format as
described in git-config(1) and can write git config files.
(Jelmer Vernooij, #531092, #768687)</li>
<li><tt class="docutils literal"><span class="pre">Repo.do_commit</span></tt> will now use the user identity from
.git/config or ~/.gitconfig if none was explicitly specified.
(Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Allow <tt class="docutils literal"><span class="pre">determine_wants</span></tt> methods to include the zero sha in their
return value. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.2   2011-12-18</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Cope with different zlib buffer sizes in sha1 file parser.
(Jelmer Vernooij)</li>
<li>Fix get_transport_and_path for HTTP/HTTPS URLs.
(Bruno Renié)</li>
<li>Avoid calling free_objects() on NULL in error cases. (Chris Eberle)</li>
<li>Fix use &#8211;bare argument to &#8216;dulwich init&#8217;. (Chris Eberle)</li>
<li>Properly abort connections when the determine_wants function
raises an exception. (Jelmer Vernooij, #856769)</li>
<li>Tweak xcodebuild hack to deal with more error output.
(Jelmer Vernooij, #903840)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Add support for retrieving tarballs from remote servers.
(Jelmer Vernooij, #379087)</li>
<li>New method <tt class="docutils literal"><span class="pre">update_server_info</span></tt> which generates data
for dumb server access. (Jelmer Vernooij, #731235)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.1   2011-10-31</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Repo.do_commit has a new argument &#8216;ref&#8217;.</li>
<li>Repo.do_commit has a new argument &#8216;merge_heads&#8217;. (Jelmer Vernooij)</li>
<li>New <tt class="docutils literal"><span class="pre">Repo.get_walker</span></tt> method. (Jelmer Vernooij)</li>
<li>New <tt class="docutils literal"><span class="pre">Repo.clone</span></tt> method. (Jelmer Vernooij, #725369)</li>
<li><tt class="docutils literal"><span class="pre">GitClient.send_pack</span></tt> now supports the &#8216;side-band-64k&#8217; capability.
(Jelmer Vernooij)</li>
<li><tt class="docutils literal"><span class="pre">HttpGitClient</span></tt> which supports the smart server protocol over
HTTP. &#8220;dumb&#8221; access is not yet supported. (Jelmer Vernooij, #373688)</li>
<li>Add basic support for alternates. (Jelmer Vernooij, #810429)</li>
</ul>
</div></blockquote>
<p>CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>unittest2 or python &gt;= 2.7 is now required for the testsuite.
testtools is no longer supported. (Jelmer Vernooij, #830713)</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fix compilation with older versions of MSVC.  (Martin gz)</li>
<li>Special case &#8216;refs/stash&#8217; as a valid ref. (Jelmer Vernooij, #695577)</li>
<li>Smart protocol clients can now change refs even if they are
not uploading new data. (Jelmer Vernooij, #855993)</li>
</ul>
</div></blockquote>
<ul class="simple">
<li>Don&#8217;t compile C extensions when running in pypy.
(Ronny Pfannschmidt, #881546)</li>
<li>Use different name for strnlen replacement function to avoid clashing
with system strnlen. (Jelmer Vernooij, #880362)</li>
</ul>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li><tt class="docutils literal"><span class="pre">Repo.revision_history</span></tt> is now deprecated in favor of <tt class="docutils literal"><span class="pre">Repo.get_walker</span></tt>.
(Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.8.0   2011-08-07</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>New DeltaChainIterator abstract class for quickly iterating all objects in
a pack, with implementations for pack indexing and inflation.
(Dave Borowitz)</li>
<li>New walk module with a Walker class for customizable commit walking.
(Dave Borowitz)</li>
<li>New tree_changes_for_merge function in diff_tree. (Dave Borowitz)</li>
<li>Easy rename detection in RenameDetector even without find_copies_harder.
(Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Avoid storing all objects in memory when writing pack.
(Jelmer Vernooij, #813268)</li>
<li>Support IPv6 for git:// connections. (Jelmer Vernooij, #801543)</li>
<li>Improve performance of Repo.revision_history(). (Timo Schmid, #535118)</li>
<li>Fix use of SubprocessWrapper on Windows. (Paulo Madeira, #670035)</li>
<li>Fix compilation on newer versions of Mac OS X (Lion and up). (Ryan McKern, #794543)</li>
<li>Prevent raising ValueError for correct refs in RefContainer.__delitem__.</li>
<li>Correctly return a tuple from MemoryObjectStore.get_raw. (Dave Borowitz)</li>
<li>Fix a bug in reading the pack checksum when there are fewer than 20 bytes
left in the buffer. (Dave Borowitz)</li>
<li>Support ~ in git:// URL paths. (Jelmer Vernooij, #813555)</li>
<li>Make ShaFile.__eq__ work when other is not a ShaFile. (Dave Borowitz)</li>
<li>ObjectStore.get_graph_walker() now no longer yields the same
revision more than once. This has a significant improvement for
performance when wide revision graphs are involved.
(Jelmer Vernooij, #818168)</li>
<li>Teach ReceivePackHandler how to read empty packs. (Dave Borowitz)</li>
<li>Don&#8217;t send a pack with duplicates of the same object. (Dave Borowitz)</li>
<li>Teach the server how to serve a clone of an empty repo. (Dave Borowitz)</li>
<li>Correctly advertise capabilities during receive-pack. (Dave Borowitz)</li>
<li>Fix add/add and add/rename conflicts in tree_changes_for_merge.
(Dave Borowitz)</li>
<li>Use correct MIME types in web server. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>write_pack no longer takes the num_objects argument and requires an object
to be passed in that is iterable (rather than an iterator) and that
provides __len__.  (Jelmer Vernooij)</li>
<li>write_pack_data has been renamed to write_pack_objects and no longer takes a
num_objects argument. (Jelmer Vernooij)</li>
<li>take_msb_bytes, read_zlib_chunks, unpack_objects, and
PackStreamReader.read_objects now take an additional argument indicating a
crc32 to compute. (Dave Borowitz)</li>
<li>PackObjectIterator was removed; its functionality is still exposed by
PackData.iterobjects. (Dave Borowitz)</li>
<li>Add a sha arg to write_pack_object to incrementally compute a SHA.
(Dave Borowitz)</li>
<li>Include offset in PackStreamReader results. (Dave Borowitz)</li>
<li>Move PackStreamReader from server to pack. (Dave Borowitz)</li>
<li>Extract a check_length_and_checksum, compute_file_sha, and
pack_object_header pack helper functions. (Dave Borowitz)</li>
<li>Extract a compute_file_sha function. (Dave Borowitz)</li>
<li>Remove move_in_thin_pack as a separate method; add_thin_pack now completes
the thin pack and moves it in in one step. Remove ThinPackData as well.
(Dave Borowitz)</li>
<li>Custom buffer size in read_zlib_chunks. (Dave Borowitz)</li>
<li>New UnpackedObject data class that replaces ad-hoc tuples in the return
value of unpack_object and various DeltaChainIterator methods.
(Dave Borowitz)</li>
<li>Add a lookup_path convenience method to Tree. (Dave Borowitz)</li>
<li>Optionally create RenameDetectors without passing in tree SHAs.
(Dave Borowitz)</li>
<li>Optionally include unchanged entries in RenameDetectors. (Dave Borowitz)</li>
<li>Optionally pass a RenameDetector to tree_changes. (Dave Borowitz)</li>
<li>Optionally pass a request object through to server handlers. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>TEST CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>If setuptools is installed, &#8220;python setup.py test&#8221; will now run the testsuite.
(Jelmer Vernooij)</li>
<li>Add a new build_pack test utility for building packs from a simple spec.
(Dave Borowitz)</li>
<li>Add a new build_commit_graph test utility for building commits from a
simple spec. (Dave Borowitz)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.7.1   2011-04-12</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fix double decref in _diff_tree.c. (Ted Horst, #715528)</li>
<li>Fix the build on Windows. (Pascal Quantin)</li>
<li>Fix get_transport_and_path compatibility with pre-2.6.5 versions of Python.
(Max Bowsher, #707438)</li>
<li>BaseObjectStore.determine_wants_all no longer breaks on zero SHAs.
(Jelmer Vernooij)</li>
<li>write_tree_diff() now supports submodules.
(Jelmer Vernooij)</li>
<li>Fix compilation for XCode 4 and older versions of distutils.sysconfig.
(Daniele Sluijters)</li>
</ul>
</div></blockquote>
<p>IMPROVEMENTS</p>
<blockquote>
<div><ul class="simple">
<li>Sphinxified documentation. (Lukasz Balcerzak)</li>
<li>Add Pack.keep.(Marc Brinkmann)</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>The order of the parameters to Tree.add(name, mode, sha) has changed, and
is now consistent with the rest of Dulwich. Existing code will still
work but print a DeprecationWarning. (Jelmer Vernooij, #663550)</li>
<li>Tree.entries() is now deprecated in favour of Tree.items() and
Tree.iteritems(). (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.7.0   2011-01-21</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>New <cite>dulwich.diff_tree</cite> module for simple content-based rename detection.
(Dave Borowitz)</li>
<li>Add Tree.items(). (Jelmer Vernooij)</li>
<li>Add eof() and unread_pkt_line() methods to Protocol. (Dave Borowitz)</li>
<li>Add write_tree_diff(). (Jelmer Vernooij)</li>
<li>Add <cite>serve_command</cite> function for git server commands as executables.
(Jelmer Vernooij)</li>
<li>dulwich.client.get_transport_and_path now supports rsync-style repository URLs.
(Dave Borowitz, #568493)</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Correct short-circuiting operation for no-op fetches in the server.
(Dave Borowitz)</li>
<li>Support parsing git mbox patches without a version tail, as generated by
Mercurial.  (Jelmer Vernooij)</li>
<li>Fix dul-receive-pack and dul-upload-pack. (Jelmer Vernooij)</li>
<li>Zero-padded file modes in Tree objects no longer trigger an exception but
the check code warns about them. (Augie Fackler, #581064)</li>
<li>Repo.init() now honors the mkdir flag. (#671159)</li>
<li>The ref format is now checked when setting a ref rather than when reading it back.
(Dave Borowitz, #653527)</li>
<li>Make sure pack files are closed correctly. (Tay Ray Chuan)</li>
</ul>
</div></blockquote>
<p>DOCUMENTATION</p>
<blockquote>
<div><ul>
<li><p class="first">Run the tutorial inside the test suite. (Jelmer Vernooij)</p>
</li>
<li><dl class="first docutils">
<dt>Reorganized and updated the tutorial. (Jelmer Vernooij, Dave Borowitz, #610550,</dt>
<dd><p class="first last">#610540)</p>
</dd>
</dl>
</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.6.2   2010-10-16</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>HTTP server correctly handles empty CONTENT_LENGTH. (Dave Borowitz)</li>
<li>Don&#8217;t error when creating GitFiles with the default mode. (Dave Borowitz)</li>
<li>ThinPackData.from_file now works with resolve_ext_ref callback.
(Dave Borowitz)</li>
<li>Provide strnlen() on mingw32 which doesn&#8217;t have it. (Hans Kolek)</li>
<li>Set bare=true in the configuratin for bare repositories. (Dirk Neumann)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Use slots for core objects to save up on memory. (Jelmer Vernooij)</li>
<li>Web server supports streaming progress/pack output. (Dave Borowitz)</li>
<li>New public function dulwich.pack.write_pack_header. (Dave Borowitz)</li>
<li>Distinguish between missing files and read errors in HTTP server.
(Dave Borowitz)</li>
<li>Initial work on support for fastimport using python-fastimport.
(Jelmer Vernooij)</li>
<li>New dulwich.pack.MemoryPackIndex class. (Jelmer Vernooij)</li>
<li>Delegate SHA peeling to the object store.  (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>TESTS</p>
<blockquote>
<div><ul class="simple">
<li>Use GitFile when modifying packed-refs in tests. (Dave Borowitz)</li>
<li>New tests in test_web with better coverage and fewer ad-hoc mocks.
(Dave Borowitz)</li>
<li>Standardize quote delimiters in test_protocol. (Dave Borowitz)</li>
<li>Fix use when testtools is installed. (Jelmer Vernooij)</li>
<li>Add trivial test for write_pack_header. (Jelmer Vernooij)</li>
<li>Refactor some of dulwich.tests.compat.server_utils. (Dave Borowitz)</li>
<li>Allow overwriting id property of objects in test utils. (Dave Borowitz)</li>
<li>Use real in-memory objects rather than stubs for server tests.
(Dave Borowitz)</li>
<li>Clean up MissingObjectFinder. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>ObjectStore.iter_tree_contents now walks contents in depth-first, sorted
order. (Dave Borowitz)</li>
<li>ObjectStore.iter_tree_contents can optionally yield tree objects as well.
(Dave Borowitz).</li>
<li>Add side-band-64k support to ReceivePackHandler. (Dave Borowitz)</li>
<li>Change server capabilities methods to classmethods. (Dave Borowitz)</li>
<li>Tweak server handler injection. (Dave Borowitz)</li>
<li>PackIndex1 and PackIndex2 now subclass FilePackIndex, which is
itself a subclass of PackIndex. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>DOCUMENTATION</p>
<blockquote>
<div><ul class="simple">
<li>Add docstrings for various functions in dulwich.objects. (Jelmer Vernooij)</li>
<li>Clean up docstrings in dulwich.protocol. (Dave Borowitz)</li>
<li>Explicitly specify allowed protocol commands to
ProtocolGraphWalker.read_proto_line.  (Dave Borowitz)</li>
<li>Add utility functions to DictRefsContainer. (Dave Borowitz)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.6.1   2010-07-22</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fix memory leak in C implementation of sorted_tree_items. (Dave Borowitz)</li>
<li>Use correct path separators for named repo files. (Dave Borowitz)</li>
<li>python &gt; 2.7 and testtools-based test runners will now also pick up skipped
tests correctly. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Move named file initilization to BaseRepo. (Dave Borowitz)</li>
<li>Add logging utilities and git/HTTP server logging. (Dave Borowitz)</li>
<li>The GitClient interface has been cleaned up and instances are now reusable.
(Augie Fackler)</li>
<li>Allow overriding paths to executables in GitSSHClient.
(Ross Light, Jelmer Vernooij, #585204)</li>
<li>Add PackBasedObjectStore.pack_loose_objects(). (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>TESTS</p>
<blockquote>
<div><ul class="simple">
<li>Add tests for sorted_tree_items and C implementation. (Dave Borowitz)</li>
<li>Add a MemoryRepo that stores everything in memory. (Dave Borowitz)</li>
<li>Quiet logging output from web tests. (Dave Borowitz)</li>
<li>More flexible version checking for compat tests. (Dave Borowitz)</li>
<li>Compat tests for servers with and without side-band-64k. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>CLEANUP</p>
<blockquote>
<div><ul class="simple">
<li>Clean up file headers. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>TESTS</p>
<blockquote>
<div><ul class="simple">
<li>Use GitFile when modifying packed-refs in tests. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>dulwich.pack.write_pack_index_v{1,2} now take a file-like object
rather than a filename. (Jelmer Vernooij)</li>
<li>Make dul-daemon/dul-web trivial wrappers around server functionality.
(Dave Borowitz)</li>
<li>Move reference WSGI handler to web.py. (Dave Borowitz)</li>
<li>Factor out _report_status in ReceivePackHandler. (Dave Borowitz)</li>
<li>Factor out a function to convert a line to a pkt-line. (Dave Borowitz)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.6.0   2010-05-22</p>
<p>note: This list is most likely incomplete for 0.6.0.</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fix ReceivePackHandler to disallow removing refs without delete-refs.
(Dave Borowitz)</li>
<li>Deal with capabilities required by the client, even if they
can not be disabled in the server. (Dave Borowitz)</li>
<li>Fix trailing newlines in generated patch files.
(Jelmer Vernooij)</li>
<li>Implement RefsContainer.__contains__. (Jelmer Vernooij)</li>
<li>Cope with r in ref files on Windows. (
<a class="reference external" href="http://github.com/jelmer/dulwich/issues/#issue/13">http://github.com/jelmer/dulwich/issues/#issue/13</a>, Jelmer Vernooij)</li>
<li>Fix GitFile breakage on Windows. (Anatoly Techtonik, #557585)</li>
<li>Support packed ref deletion with no peeled refs. (Augie Fackler)</li>
<li>Fix send pack when there is nothing to fetch. (Augie Fackler)</li>
<li>Fix fetch if no progress function is specified. (Augie Fackler)</li>
<li>Allow double-staging of files that are deleted in the index.
(Dave Borowitz)</li>
<li>Fix RefsContainer.add_if_new to support dangling symrefs.
(Dave Borowitz)</li>
<li>Non-existant index files in non-bare repositories are now treated as
empty. (Dave Borowitz)</li>
<li>Always update ShaFile.id when the contents of the object get changed.
(Jelmer Vernooij)</li>
<li>Various Python2.4-compatibility fixes. (Dave Borowitz)</li>
<li>Fix thin pack handling. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Add include-tag capability to server. (Dave Borowitz)</li>
<li>New dulwich.fastexport module that can generate fastexport
streams. (Jelmer Vernooij)</li>
<li>Implemented BaseRepo.__contains__. (Jelmer Vernooij)</li>
<li>Add __setitem__ to DictRefsContainer. (Dave Borowitz)</li>
<li>Overall improvements checking Git objects. (Dave Borowitz)</li>
<li>Packs are now verified while they are received. (Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>TESTS</p>
<blockquote>
<div><ul class="simple">
<li>Add framework for testing compatibility with C Git. (Dave Borowitz)</li>
<li>Add various tests for the use of non-bare repositories. (Dave Borowitz)</li>
<li>Cope with diffstat not being available on all platforms.
(Tay Ray Chuan, Jelmer Vernooij)</li>
<li>Add make_object and make_commit convenience functions to test utils.
(Dave Borowitz)</li>
</ul>
</div></blockquote>
<p>API BREAKAGES</p>
<blockquote>
<div><ul class="simple">
<li>The &#8216;committer&#8217; and &#8216;message&#8217; arguments to Repo.do_commit() have
been swapped. &#8216;committer&#8217; is now optional. (Jelmer Vernooij)</li>
<li>Repo.get_blob, Repo.commit, Repo.tag and Repo.tree are now deprecated.
(Jelmer Vernooij)</li>
<li>RefsContainer.set_ref() was renamed to RefsContainer.set_symbolic_ref(),
for clarity. (Jelmer Vernooij)</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>The primary serialization APIs in dulwich.objects now work
with chunks of strings rather than with full-text strings.
(Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.5.02010-03-03</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Support custom fields in commits (readonly). (Jelmer Vernooij)</li>
<li>Improved ref handling. (Dave Borowitz)</li>
<li>Rework server protocol to be smarter and interoperate with cgit client.
(Dave Borowitz)</li>
<li>Add a GitFile class that uses the same locking protocol for writes as
cgit. (Dave Borowitz)</li>
<li>Cope with forward slashes correctly in the index on Windows.
(Jelmer Vernooij, #526793)</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>&#8211;pure option to setup.py to allow building/installing without the C
extensions. (Hal Wine, Anatoly Techtonik, Jelmer Vernooij, #434326)</li>
<li>Implement Repo.get_config(). (Jelmer Vernooij, Augie Fackler)</li>
<li>HTTP dumb and smart server. (Dave Borowitz)</li>
<li>Add abstract baseclass for Repo that does not require file system
operations. (Dave Borowitz)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.4.1   2010-01-03</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Add ObjectStore.iter_tree_contents(). (Jelmer Vernooij)</li>
<li>Add Index.changes_from_tree(). (Jelmer Vernooij)</li>
<li>Add ObjectStore.tree_changes(). (Jelmer Vernooij)</li>
<li>Add functionality for writing patches in dulwich.patch.
(Jelmer Vernooij)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.4.0   2009-10-07</p>
<blockquote>
<div><p>DOCUMENTATION</p>
<blockquote>
<div><ul class="simple">
<li>Added tutorial.</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>dulwich.object_store.tree_lookup_path will now return the mode and
sha of the object found rather than the object itself.</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Use binascii.hexlify / binascii.unhexlify for better performance.</li>
<li>Cope with extra unknown data in index files by ignoring it (for now).</li>
<li>Add proper error message when server unexpectedly hangs up. (#415843)</li>
<li>Correctly write opcode for equal in create_delta.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.3.3   2009-07-23</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Implement ShaFile.__hash__().</li>
<li>Implement Tree.__len__()</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Check for &#8216;objects&#8217; and &#8216;refs&#8217; directories
when looking for a Git repository. (#380818)</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.3.2   2009-05-20</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Support the encoding field in Commits.</li>
<li>Some Windows compatibility fixes.</li>
<li>Fixed several issues in commit support.</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Basic support for handling submodules.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.3.1   2009-05-13</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Implemented Repo.__getitem__, Repo.__setitem__ and Repo.__delitem__ to
access content.</li>
</ul>
</div></blockquote>
<p>API CHANGES</p>
<blockquote>
<div><ul class="simple">
<li>Removed Repo.set_ref, Repo.remove_ref, Repo.tags, Repo.get_refs and
Repo.heads in favor of Repo.refs, a dictionary-like object for accessing
refs.</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Removed import of &#8216;sha&#8217; module in objects.py, which was causing
deprecation warnings on Python 2.6.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.3.0   2009-05-10</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>A new function &#8216;commit_tree&#8217; has been added that can commit a tree
based on an index.</li>
</ul>
</div></blockquote>
<p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>The memory usage when generating indexes has been significantly reduced.</li>
<li>A memory leak in the C implementation of parse_tree has been fixed.</li>
<li>The send-pack smart server command now works. (Thanks Scott Chacon)</li>
<li>The handling of short timestamps (less than 10 digits) has been fixed.</li>
<li>The handling of timezones has been fixed.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.2.1   2009-04-30</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fix compatibility with Python2.4.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.2.0   2009-04-30</p>
<blockquote>
<div><p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Support for activity reporting in smart protocol client.</li>
<li>Optional C extensions for better performance in a couple of
places that are performance-critical.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.1.1   2009-03-13</p>
<blockquote>
<div><p>BUG FIXES</p>
<blockquote>
<div><ul class="simple">
<li>Fixed regression in Repo.find_missing_objects()</li>
<li>Don&#8217;t fetch ^{} objects from remote hosts, as requesting them
causes a hangup.</li>
<li>Always write pack to disk completely before calculating checksum.</li>
</ul>
</div></blockquote>
<p>FEATURES</p>
<blockquote>
<div><ul class="simple">
<li>Allow disabling thin packs when talking to remote hosts.</li>
</ul>
</div></blockquote>
</div></blockquote>
<p>0.1.0   2009-01-24</p>
<blockquote>
<div><ul class="simple">
<li>Initial release.</li>
</ul>
</div></blockquote>
</div>
<div class="section" id="indices-and-tables">
<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li><a class="reference internal" href="genindex.html"><em>Index</em></a></li>
<li><a class="reference internal" href="py-modindex.html"><em>Module Index</em></a></li>
<li><a class="reference internal" href="search.html"><em>Search Page</em></a></li>
</ul>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="#">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">dulwich - Python implementation of Git</a><ul>
<li><a class="reference internal" href="#overview">Overview</a></li>
<li><a class="reference internal" href="#documentation">Documentation</a><ul>
</ul>
</li>
<li><a class="reference internal" href="#changelog">Changelog</a></li>
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
</ul>
</li>
</ul>

  <h4>Next topic</h4>
  <p class="topless"><a href="performance.html"
                        title="next chapter">Possible areas for improvement</a></p>
  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="_sources/index.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="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="performance.html" title="Possible areas for improvement"
             >next</a> |</li>
        <li><a href="#">dulwich 0.9.0 documentation</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2011, Jelmer Vernooij.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>
  </body>
</html>