summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2010-07-02 16:54:11 +0200
committerSebastian Thiel <byronimo@gmail.com>2010-07-02 16:54:11 +0200
commitf683c6623f73252645bb2819673046c9d397c567 (patch)
tree3e51396631523cb4a6464ae03e513794a55ce130
parentfd96cceded27d1372bdc1a851448d2d8613f60f3 (diff)
downloadgitpython-f683c6623f73252645bb2819673046c9d397c567.tar.gz
Fixed broken 0.2 documentation, it didn't contain the API reference previously due to import errors and a somewhat inconsistent working tree that occurred when switching branches ...
-rw-r--r--doc/doc_index/0.2/genindex.html474
-rw-r--r--doc/doc_index/0.2/index.html40
-rw-r--r--doc/doc_index/0.2/intro.html6
-rw-r--r--doc/doc_index/0.2/objects.inv278
-rw-r--r--doc/doc_index/0.2/reference.html2814
-rw-r--r--doc/doc_index/0.2/roadmap.html6
-rw-r--r--doc/doc_index/0.2/search.html6
-rw-r--r--doc/doc_index/0.2/searchindex.js2
-rw-r--r--doc/doc_index/0.2/tutorial.html6
m---------lib/git/ext/gitdb0
10 files changed, 3562 insertions, 70 deletions
diff --git a/doc/doc_index/0.2/genindex.html b/doc/doc_index/0.2/genindex.html
index 866800c3..3a806db1 100644
--- a/doc/doc_index/0.2/genindex.html
+++ b/doc/doc_index/0.2/genindex.html
@@ -28,6 +28,9 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
<li><a href="index.html">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
</ul>
</div>
@@ -40,11 +43,477 @@
<h1 id="index">Index</h1>
-
+ <a href="#A"><strong>A</strong></a> | <a href="#B"><strong>B</strong></a> | <a href="#C"><strong>C</strong></a> | <a href="#D"><strong>D</strong></a> | <a href="#E"><strong>E</strong></a> | <a href="#F"><strong>F</strong></a> | <a href="#G"><strong>G</strong></a> | <a href="#H"><strong>H</strong></a> | <a href="#I"><strong>I</strong></a> | <a href="#J"><strong>J</strong></a> | <a href="#L"><strong>L</strong></a> | <a href="#M"><strong>M</strong></a> | <a href="#N"><strong>N</strong></a> | <a href="#O"><strong>O</strong></a> | <a href="#P"><strong>P</strong></a> | <a href="#R"><strong>R</strong></a> | <a href="#S"><strong>S</strong></a> | <a href="#T"><strong>T</strong></a> | <a href="#U"><strong>U</strong></a> | <a href="#V"><strong>V</strong></a> | <a href="#W"><strong>W</strong></a>
<hr />
+<h2 id="A">A</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.diff.Diff.a_blob">a_blob (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.diff.Diff.a_mode">a_mode (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.objects.base.IndexObject.abspath">abspath (git.objects.base.IndexObject attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.active_branch">active_branch (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.actor.Actor">Actor (class in git.actor)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.add">add() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.Remote.add">(git.remote.Remote class method)</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.repo.Repo.alternates">alternates (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.archive">archive() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.AutoInterrupt.args">args (git.cmd.Git.AutoInterrupt attribute)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.author">author (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.author_tz_offset">author_tz_offset (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.authored_date">authored_date (git.objects.commit.Commit attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="B">B</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.diff.Diff.b_blob">b_blob (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.diff.Diff.b_mode">b_mode (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.bare">bare (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.index.BaseIndexEntry">BaseIndexEntry (class in git.index)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.blame">blame() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.objects.blob.Blob">Blob (class in git.objects.blob)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.index.BlobFilter">BlobFilter (class in git.index)</a></dt>
+<dt><a href="reference.html#git.objects.tree.Tree.blobs">blobs (git.objects.tree.Tree attribute)</a></dt>
+<dt><a href="reference.html#git.utils.BlockingLockFile">BlockingLockFile (class in git.utils)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.branches">branches (git.repo.Repo attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="C">C</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.cmd.Git.cat_file_all">cat_file_all (git.cmd.Git attribute)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.cat_file_header">cat_file_header (git.cmd.Git attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.checkout">checkout() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.Head.checkout">(git.refs.Head method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.CheckoutError">CheckoutError</a></dt>
+<dt><a href="reference.html#git.cmd.Git.clear_cache">clear_cache() (git.cmd.Git method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.index.clear_cache">(in module git.index)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.repo.Repo.clone">clone() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.utils.SHA1Writer.close">close() (git.utils.SHA1Writer method)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit">Commit (class in git.objects.commit)</a></dt>
+<dt><a href="reference.html#git.refs.SymbolicReference.commit">commit (git.refs.SymbolicReference attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.TagReference.commit">(git.refs.TagReference attribute)</a></dt>
+ <dt><a href="reference.html#git.remote.FetchInfo.commit">(git.remote.FetchInfo attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.IndexFile.commit">commit() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.repo.Repo.commit">(git.repo.Repo method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.objects.commit.Commit.committed_date">committed_date (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.committer">committer (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.committer_tz_offset">committer_tz_offset (git.objects.commit.Commit attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.utils.ConcurrentWriteOperation">ConcurrentWriteOperation (class in git.utils)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.config_reader">config_reader (git.remote.Remote attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.config_reader">config_reader() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.config_writer">config_writer (git.remote.Remote attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.config_writer">config_writer() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.count">count() (git.objects.commit.Commit method)</a></dt>
+<dt><a href="reference.html#git.refs.Head.create">create() (git.refs.Head class method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.Reference.create">(git.refs.Reference class method)</a></dt>
+ <dt><a href="reference.html#git.refs.SymbolicReference.create">(git.refs.SymbolicReference class method)</a></dt>
+ <dt><a href="reference.html#git.refs.TagReference.create">(git.refs.TagReference class method)</a></dt>
+ <dt><a href="reference.html#git.remote.Remote.create">(git.remote.Remote class method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.objects.commit.Commit.create_from_tree">create_from_tree() (git.objects.commit.Commit class method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.create_head">create_head() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.create_remote">create_remote() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.create_tag">create_tag() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry.ctime">ctime (git.index.IndexEntry attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="D">D</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.repo.Repo.daemon_export">daemon_export (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.cmd.dashify">dashify() (in module git.cmd)</a></dt>
+<dt><a href="reference.html#git.objects.base.Object.data">data (git.objects.base.Object attribute)</a></dt>
+<dt><a href="reference.html#git.objects.base.Object.data_stream">data_stream (git.objects.base.Object attribute)</a></dt>
+<dt><a href="reference.html#git.index.default_index">default_index() (in module git.index)</a></dt>
+<dt><a href="reference.html#git.refs.Head.delete">delete() (git.refs.Head class method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.RemoteReference.delete">(git.refs.RemoteReference class method)</a></dt>
+ <dt><a href="reference.html#git.refs.SymbolicReference.delete">(git.refs.SymbolicReference class method)</a></dt>
+ <dt><a href="reference.html#git.refs.TagReference.delete">(git.refs.TagReference class method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.repo.Repo.delete_head">delete_head() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.delete_remote">delete_remote() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.delete_tag">delete_tag() (git.repo.Repo method)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.diff.Diff.deleted_file">deleted_file (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.description">description (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry.dev">dev (git.index.IndexEntry attribute)</a></dt>
+<dt><a href="reference.html#git.diff.Diff">Diff (class in git.diff)</a></dt>
+<dt><a href="reference.html#git.diff.Diff.diff">diff (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.diff.Diffable.diff">diff() (git.diff.Diffable method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.index.IndexFile.diff">(git.index.IndexFile method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.diff.Diffable">Diffable (class in git.diff)</a></dt>
+<dt><a href="reference.html#git.diff.Diffable.Index">Diffable.Index (class in git.diff)</a></dt>
+<dt><a href="reference.html#git.diff.DiffIndex">DiffIndex (class in git.diff)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="E">E</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.index.IndexFile.entries">entries (git.index.IndexFile attribute)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.execute">execute() (git.cmd.Git method)</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="F">F</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.utils.SHA1Writer.f">f (git.utils.SHA1Writer attribute)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.fetch">fetch() (git.remote.Remote method)</a></dt>
+<dt><a href="reference.html#git.remote.FetchInfo">FetchInfo (class in git.remote)</a></dt>
+<dt><a href="reference.html#git.stats.Stats.files">files (git.stats.Stats attribute)</a></dt>
+<dt><a href="reference.html#git.remote.FetchInfo.flags">flags (git.remote.FetchInfo attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.PushInfo.flags">(git.remote.PushInfo attribute)</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.index.IndexEntry.from_base">from_base() (git.index.IndexEntry class method)</a></dt>
+<dt><a href="reference.html#git.index.BaseIndexEntry.from_blob">from_blob() (git.index.BaseIndexEntry class method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.index.IndexEntry.from_blob">(git.index.IndexEntry class method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.refs.SymbolicReference.from_path">from_path() (git.refs.SymbolicReference class method)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.from_tree">from_tree() (git.index.IndexFile class method)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="G">G</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.index.IndexFile.get_entries_key">get_entries_key() (git.index.IndexFile class method)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.get_object_data">get_object_data() (git.cmd.Git method)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.get_object_header">get_object_header() (git.cmd.Git method)</a></dt>
+<dt><a href="reference.html#git.objects.utils.get_object_type_by_name">get_object_type_by_name() (in module git.objects.utils)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry.gid">gid (git.index.IndexEntry attribute)</a></dt>
+<dt><a href="reference.html#git.cmd.Git">Git (class in git.cmd)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.git">git (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#module-git.actor">git.actor (module)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.AutoInterrupt">Git.AutoInterrupt (class in git.cmd)</a></dt>
+<dt><a href="reference.html#module-git.cmd">git.cmd (module)</a></dt>
+<dt><a href="reference.html#module-git.config">git.config (module)</a></dt>
+<dt><a href="reference.html#module-git.diff">git.diff (module)</a></dt>
+<dt><a href="reference.html#module-git.errors">git.errors (module)</a></dt>
+<dt><a href="reference.html#module-git.index">git.index (module)</a></dt>
+<dt><a href="reference.html#module-git.objects.base">git.objects.base (module)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#module-git.objects.blob">git.objects.blob (module)</a></dt>
+<dt><a href="reference.html#module-git.objects.commit">git.objects.commit (module)</a></dt>
+<dt><a href="reference.html#module-git.objects.tag">git.objects.tag (module)</a></dt>
+<dt><a href="reference.html#module-git.objects.tree">git.objects.tree (module)</a></dt>
+<dt><a href="reference.html#module-git.objects.utils">git.objects.utils (module)</a></dt>
+<dt><a href="reference.html#module-git.refs">git.refs (module)</a></dt>
+<dt><a href="reference.html#module-git.remote">git.remote (module)</a></dt>
+<dt><a href="reference.html#module-git.repo">git.repo (module)</a></dt>
+<dt><a href="reference.html#module-git.stats">git.stats (module)</a></dt>
+<dt><a href="reference.html#module-git.utils">git.utils (module)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.git_dir">git_dir (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.errors.GitCommandError">GitCommandError</a></dt>
+<dt><a href="reference.html#git.config.GitConfigParser">GitConfigParser (in module git.config)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="H">H</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.refs.HEAD">HEAD (class in git.refs)</a></dt>
+<dt><a href="reference.html#git.refs.Head">Head (class in git.refs)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.head">head (git.repo.Repo attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.repo.Repo.heads">heads (git.repo.Repo attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="I">I</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.repo.Repo.index">index (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry">IndexEntry (class in git.index)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile">IndexFile (class in git.index)</a></dt>
+<dt><a href="reference.html#git.objects.base.IndexObject">IndexObject (class in git.objects.base)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.init">init() (git.repo.Repo class method)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry.inode">inode (git.index.IndexEntry attribute)</a></dt>
+<dt><a href="reference.html#git.errors.InvalidGitRepositoryError">InvalidGitRepositoryError</a></dt>
+<dt><a href="reference.html#git.refs.SymbolicReference.is_detached">is_detached (git.refs.SymbolicReference attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.is_dirty">is_dirty() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.repo.is_git_dir">is_git_dir() (in module git.repo)</a></dt>
+<dt><a href="reference.html#git.refs.SymbolicReference.is_valid">is_valid() (git.refs.SymbolicReference method)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.iter_blobs">iter_blobs() (git.index.IndexFile method)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.diff.DiffIndex.iter_change_type">iter_change_type() (git.diff.DiffIndex method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.iter_commits">iter_commits() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.iter_items">iter_items() (git.objects.commit.Commit class method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.Reference.iter_items">(git.refs.Reference class method)</a></dt>
+ <dt><a href="reference.html#git.refs.SymbolicReference.iter_items">(git.refs.SymbolicReference class method)</a></dt>
+ <dt><a href="reference.html#git.remote.Remote.iter_items">(git.remote.Remote class method)</a></dt>
+ <dt><a href="reference.html#git.utils.Iterable.iter_items">(git.utils.Iterable class method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.objects.commit.Commit.iter_parents">iter_parents() (git.objects.commit.Commit method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.iter_trees">iter_trees() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.utils.Iterable">Iterable (class in git.utils)</a></dt>
+<dt><a href="reference.html#git.utils.IterableList">IterableList (class in git.utils)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="J">J</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.utils.join_path">join_path() (in module git.utils)</a></dt>
+<dt><a href="reference.html#git.utils.join_path_native">join_path_native() (in module git.utils)</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="L">L</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.utils.LazyMixin">LazyMixin (class in git.utils)</a></dt>
+<dt><a href="reference.html#git.remote.RemoteProgress.line_dropped">line_dropped() (git.remote.RemoteProgress method)</a></dt>
+<dt><a href="reference.html#git.utils.Iterable.list_items">list_items() (git.utils.Iterable class method)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.remote.PushInfo.local_ref">local_ref (git.remote.PushInfo attribute)</a></dt>
+<dt><a href="reference.html#git.utils.LockFile">LockFile (class in git.utils)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="M">M</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.utils.make_sha">make_sha() (in module git.utils)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.merge_tree">merge_tree() (git.index.IndexFile method)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.message">message (git.objects.commit.Commit attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.objects.tag.TagObject.message">(git.objects.tag.TagObject attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.objects.blob.Blob.mime_type">mime_type (git.objects.blob.Blob attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.index.BaseIndexEntry.mode">mode (git.index.BaseIndexEntry attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.objects.base.IndexObject.mode">(git.objects.base.IndexObject attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.IndexFile.move">move() (git.index.IndexFile method)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry.mtime">mtime (git.index.IndexEntry attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="N">N</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.objects.base.IndexObject.name">name (git.objects.base.IndexObject attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.Reference.name">(git.refs.Reference attribute)</a></dt>
+ <dt><a href="reference.html#git.refs.SymbolicReference.name">(git.refs.SymbolicReference attribute)</a></dt>
+ <dt><a href="reference.html#git.remote.FetchInfo.name">(git.remote.FetchInfo attribute)</a></dt>
+ <dt><a href="reference.html#git.remote.Remote.name">(git.remote.Remote attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.objects.commit.Commit.name_rev">name_rev (git.objects.commit.Commit attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.objects.base.Object.new">new() (git.objects.base.Object class method)</a></dt>
+<dt><a href="reference.html#git.diff.Diff.new_file">new_file (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.errors.NoSuchPathError">NoSuchPathError</a></dt>
+<dt><a href="reference.html#git.remote.FetchInfo.note">note (git.remote.FetchInfo attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="O">O</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.objects.base.Object">Object (class in git.objects.base)</a></dt>
+<dt><a href="reference.html#git.objects.tag.TagObject.object">object (git.objects.tag.TagObject attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.Reference.object">(git.refs.Reference attribute)</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.remote.FetchInfo.old_commit">old_commit (git.remote.FetchInfo attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.PushInfo.old_commit">(git.remote.PushInfo attribute)</a></dt>
+ </dl></dd>
+</dl></td></tr></table>
+
+<h2 id="P">P</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.objects.commit.Commit.parents">parents (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.objects.utils.parse_actor_and_date">parse_actor_and_date() (in module git.objects.utils)</a></dt>
+<dt><a href="reference.html#git.index.BaseIndexEntry.path">path (git.index.BaseIndexEntry attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.index.IndexFile.path">(git.index.IndexFile attribute)</a></dt>
+ <dt><a href="reference.html#git.objects.base.IndexObject.path">(git.objects.base.IndexObject attribute)</a></dt>
+ <dt><a href="reference.html#git.refs.SymbolicReference.path">(git.refs.SymbolicReference attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.BlobFilter.paths">paths (git.index.BlobFilter attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.cmd.Git.AutoInterrupt.proc">proc (git.cmd.Git.AutoInterrupt attribute)</a></dt>
+<dt><a href="reference.html#git.objects.utils.ProcessStreamAdapter">ProcessStreamAdapter (class in git.objects.utils)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.pull">pull() (git.remote.Remote method)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.push">push() (git.remote.Remote method)</a></dt>
+<dt><a href="reference.html#git.remote.PushInfo">PushInfo (class in git.remote)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="R">R</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.refs.SymbolicReference.ref">ref (git.refs.SymbolicReference attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.FetchInfo.ref">(git.remote.FetchInfo attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.refs.Reference">Reference (class in git.refs)</a></dt>
+<dt><a href="reference.html#git.refs.SymbolicReference.reference">reference (git.refs.SymbolicReference attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.references">references (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.refs">refs (git.remote.Remote attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.repo.Repo.refs">(git.repo.Repo attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.remote.Remote">Remote (class in git.remote)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.remote">remote() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.refs.RemoteReference.remote_head">remote_head (git.refs.RemoteReference attribute)</a></dt>
+<dt><a href="reference.html#git.refs.RemoteReference.remote_name">remote_name (git.refs.RemoteReference attribute)</a></dt>
+<dt><a href="reference.html#git.remote.PushInfo.remote_ref">remote_ref (git.remote.PushInfo attribute)</a></dt>
+<dt><a href="reference.html#git.remote.PushInfo.remote_ref_string">remote_ref_string (git.remote.PushInfo attribute)</a></dt>
+<dt><a href="reference.html#git.remote.RemoteProgress">RemoteProgress (class in git.remote)</a></dt>
+<dt><a href="reference.html#git.refs.RemoteReference">RemoteReference (class in git.refs)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.remotes">remotes (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.remove">remove() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.Remote.remove">(git.remote.Remote class method)</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.refs.Head.rename">rename() (git.refs.Head method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.SymbolicReference.rename">(git.refs.SymbolicReference method)</a></dt>
+ <dt><a href="reference.html#git.remote.Remote.rename">(git.remote.Remote method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.diff.Diff.rename_from">rename_from (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.diff.Diff.rename_to">rename_to (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.diff.Diff.renamed">renamed (git.diff.Diff attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo">Repo (class in git.repo)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.repo">repo (git.index.IndexFile attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.objects.base.Object.repo">(git.objects.base.Object attribute)</a></dt>
+ <dt><a href="reference.html#git.refs.SymbolicReference.repo">(git.refs.SymbolicReference attribute)</a></dt>
+ <dt><a href="reference.html#git.remote.Remote.repo">(git.remote.Remote attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.IndexFile.reset">reset() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.HEAD.reset">(git.refs.HEAD method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.IndexFile.resolve_blobs">resolve_blobs() (git.index.IndexFile method)</a></dt>
+<dt><a href="reference.html#git.remote.Remote.rm">rm() (git.remote.Remote class method)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="S">S</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.index.BaseIndexEntry.sha">sha (git.index.BaseIndexEntry attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.objects.base.Object.sha">(git.objects.base.Object attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.utils.SHA1Writer.sha1">sha1 (git.utils.SHA1Writer attribute)</a></dt>
+<dt><a href="reference.html#git.utils.SHA1Writer">SHA1Writer (class in git.utils)</a></dt>
+<dt><a href="reference.html#git.objects.tree.sha_to_hex">sha_to_hex() (in module git.objects.tree)</a></dt>
+<dt><a href="reference.html#git.index.IndexEntry.size">size (git.index.IndexEntry attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.objects.base.Object.size">(git.objects.base.Object attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.index.BaseIndexEntry.stage">stage (git.index.BaseIndexEntry attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.remote.Remote.stale_refs">stale_refs (git.remote.Remote attribute)</a></dt>
+<dt><a href="reference.html#git.stats.Stats">Stats (class in git.stats)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.stats">stats (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.objects.base.Object.stream_data">stream_data() (git.objects.base.Object method)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.summary">summary (git.objects.commit.Commit attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.PushInfo.summary">(git.remote.PushInfo attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.refs.SymbolicReference">SymbolicReference (class in git.refs)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="T">T</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.objects.tag.TagObject.tag">tag (git.objects.tag.TagObject attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.refs.TagReference.tag">(git.refs.TagReference attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.refs.Tag">Tag (in module git.refs)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.tag">tag() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.objects.tag.TagObject.tagged_date">tagged_date (git.objects.tag.TagObject attribute)</a></dt>
+<dt><a href="reference.html#git.objects.tag.TagObject.tagger">tagger (git.objects.tag.TagObject attribute)</a></dt>
+<dt><a href="reference.html#git.objects.tag.TagObject.tagger_tz_offset">tagger_tz_offset (git.objects.tag.TagObject attribute)</a></dt>
+<dt><a href="reference.html#git.objects.tag.TagObject">TagObject (class in git.objects.tag)</a></dt>
+<dt><a href="reference.html#git.refs.TagReference">TagReference (class in git.refs)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.tags">tags (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.utils.SHA1Writer.tell">tell() (git.utils.SHA1Writer method)</a></dt>
+<dt><a href="reference.html#git.refs.SymbolicReference.to_full_path">to_full_path() (git.refs.SymbolicReference class method)</a></dt>
+<dt><a href="reference.html#git.utils.to_native_path">to_native_path() (in module git.utils)</a></dt></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.utils.to_native_path_linux">to_native_path_linux() (in module git.utils)</a></dt>
+<dt><a href="reference.html#git.utils.to_native_path_windows">to_native_path_windows() (in module git.utils)</a></dt>
+<dt><a href="reference.html#git.stats.Stats.total">total (git.stats.Stats attribute)</a></dt>
+<dt><a href="reference.html#git.repo.touch">touch() (in module git.repo)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.transform_kwargs">transform_kwargs() (git.cmd.Git method)</a></dt>
+<dt><a href="reference.html#git.objects.utils.Traversable">Traversable (class in git.objects.utils)</a></dt>
+<dt><a href="reference.html#git.objects.tree.Tree.traverse">traverse() (git.objects.tree.Tree method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.objects.utils.Traversable.traverse">(git.objects.utils.Traversable method)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.objects.tree.Tree">Tree (class in git.objects.tree)</a></dt>
+<dt><a href="reference.html#git.objects.commit.Commit.tree">tree (git.objects.commit.Commit attribute)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.tree">tree() (git.repo.Repo method)</a></dt>
+<dt><a href="reference.html#git.objects.tree.Tree.trees">trees (git.objects.tree.Tree attribute)</a></dt>
+</dl></td></tr></table>
+
+<h2 id="U">U</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.index.IndexEntry.uid">uid (git.index.IndexEntry attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.unmerged_blobs">unmerged_blobs() (git.index.IndexFile method)</a></dt>
+<dt><a href="reference.html#git.repo.Repo.untracked_files">untracked_files (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.update">update() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.remote.Remote.update">(git.remote.Remote method)</a></dt>
+ <dt><a href="reference.html#git.remote.RemoteProgress.update">(git.remote.RemoteProgress method)</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="V">V</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.index.IndexFile.version">version (git.index.IndexFile attribute)</a></dt></dl></td><td width="33%" valign="top"><dl>
+</dl></td></tr></table>
+
+<h2 id="W">W</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+
+<dt><a href="reference.html#git.cmd.Git.AutoInterrupt.wait">wait() (git.cmd.Git.AutoInterrupt method)</a></dt>
+<dt><a href="reference.html#git.cmd.Git.working_dir">working_dir (git.cmd.Git attribute)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.repo.Repo.working_dir">(git.repo.Repo attribute)</a></dt>
+ </dl></dd>
+<dt><a href="reference.html#git.repo.Repo.working_tree_dir">working_tree_dir (git.repo.Repo attribute)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.write">write() (git.index.IndexFile method)</a></dt>
+ <dd><dl>
+ <dt><a href="reference.html#git.utils.SHA1Writer.write">(git.utils.SHA1Writer method)</a></dt>
+ </dl></dd></dl></td><td width="33%" valign="top"><dl>
+<dt><a href="reference.html#git.utils.SHA1Writer.write_sha">write_sha() (git.utils.SHA1Writer method)</a></dt>
+<dt><a href="reference.html#git.index.IndexFile.write_tree">write_tree() (git.index.IndexFile method)</a></dt>
+</dl></td></tr></table>
+
</div>
@@ -78,6 +547,9 @@
<li class="right" style="margin-right: 10px">
<a href="#" title="General Index"
>index</a></li>
+ <li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
<li><a href="index.html">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
</ul>
</div>
diff --git a/doc/doc_index/0.2/index.html b/doc/doc_index/0.2/index.html
index 957b026d..b5e08e0d 100644
--- a/doc/doc_index/0.2/index.html
+++ b/doc/doc_index/0.2/index.html
@@ -30,6 +30,9 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
+ <li class="right" >
<a href="intro.html" title="Overview / Install"
accesskey="N">next</a> |</li>
<li><a href="#">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
@@ -71,23 +74,23 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference external" href="reference.html">API Reference</a><ul>
-<li class="toctree-l2"><a class="reference external" href="reference.html#actor">Actor</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#objects-base">Objects.Base</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#objects-blob">Objects.Blob</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#objects-commit">Objects.Commit</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#objects-tag">Objects.Tag</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#objects-tree">Objects.Tree</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#objects-utils">Objects.Utils</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#gitcmd">GitCmd</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#config">Config</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#diff">Diff</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#errors">Errors</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#index">Index</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#refs">Refs</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#remote">Remote</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#repo">Repo</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#stats">Stats</a></li>
-<li class="toctree-l2"><a class="reference external" href="reference.html#utils">Utils</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.actor">Actor</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.objects.base">Objects.Base</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.objects.blob">Objects.Blob</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.objects.commit">Objects.Commit</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.objects.tag">Objects.Tag</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.objects.tree">Objects.Tree</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.objects.utils">Objects.Utils</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.cmd">GitCmd</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.config">Config</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.diff">Diff</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.errors">Errors</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.index">Index</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.refs">Refs</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.remote">Remote</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.repo">Repo</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.stats">Stats</a></li>
+<li class="toctree-l2"><a class="reference external" href="reference.html#module-git.utils">Utils</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference external" href="roadmap.html">Roadmap</a></li>
@@ -148,6 +151,9 @@
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
+ <li class="right" >
<a href="intro.html" title="Overview / Install"
>next</a> |</li>
<li><a href="#">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
diff --git a/doc/doc_index/0.2/intro.html b/doc/doc_index/0.2/intro.html
index 2cb9d6dd..5e45017d 100644
--- a/doc/doc_index/0.2/intro.html
+++ b/doc/doc_index/0.2/intro.html
@@ -31,6 +31,9 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
+ <li class="right" >
<a href="tutorial.html" title="GitPython Tutorial"
accesskey="N">next</a> |</li>
<li class="right" >
@@ -180,6 +183,9 @@ more information.</p>
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
+ <li class="right" >
<a href="tutorial.html" title="GitPython Tutorial"
>next</a> |</li>
<li class="right" >
diff --git a/doc/doc_index/0.2/objects.inv b/doc/doc_index/0.2/objects.inv
index 7d252e3a..6deec4f9 100644
--- a/doc/doc_index/0.2/objects.inv
+++ b/doc/doc_index/0.2/objects.inv
@@ -1,3 +1,281 @@
# Sphinx inventory version 1
# Project: GitPython
# Version: 0.2.0
+git.objects.tree mod reference.html
+git.cmd mod reference.html
+git.repo mod reference.html
+git.diff mod reference.html
+git.errors mod reference.html
+git.config mod reference.html
+git.objects.tag mod reference.html
+git.objects.blob mod reference.html
+git.objects.base mod reference.html
+git.actor mod reference.html
+git.index mod reference.html
+git.utils mod reference.html
+git.objects.commit mod reference.html
+git.objects.utils mod reference.html
+git.refs mod reference.html
+git.remote mod reference.html
+git.stats mod reference.html
+git.cmd.Git.get_object_data method reference.html
+git.refs.HEAD class reference.html
+git.remote.Remote.create classmethod reference.html
+git.repo.Repo.delete_head method reference.html
+git.index.BaseIndexEntry.sha attribute reference.html
+git.refs.TagReference.tag attribute reference.html
+git.repo.Repo.alternates attribute reference.html
+git.remote.Remote.pull method reference.html
+git.index.IndexFile.remove method reference.html
+git.objects.base.IndexObject.abspath attribute reference.html
+git.refs.SymbolicReference.is_detached attribute reference.html
+git.index.IndexFile.get_entries_key classmethod reference.html
+git.objects.base.Object.new classmethod reference.html
+git.utils.Iterable.list_items classmethod reference.html
+git.diff.Diffable.Index class reference.html
+git.diff.Diff.b_blob attribute reference.html
+git.objects.tag.TagObject.message attribute reference.html
+git.objects.base.IndexObject.name attribute reference.html
+git.refs.Reference class reference.html
+git.objects.utils.ProcessStreamAdapter class reference.html
+git.objects.blob.Blob.mime_type attribute reference.html
+git.objects.commit.Commit.committed_date attribute reference.html
+git.objects.base.Object.data_stream attribute reference.html
+git.index.BaseIndexEntry.stage attribute reference.html
+git.objects.base.IndexObject.path attribute reference.html
+git.objects.base.Object.repo attribute reference.html
+git.repo.Repo.config_reader method reference.html
+git.refs.RemoteReference.remote_head attribute reference.html
+git.utils.SHA1Writer.sha1 attribute reference.html
+git.index.IndexFile.unmerged_blobs method reference.html
+git.diff.Diff class reference.html
+git.remote.Remote.repo attribute reference.html
+git.objects.commit.Commit.committer attribute reference.html
+git.index.IndexEntry.inode attribute reference.html
+git.objects.commit.Commit.message attribute reference.html
+git.stats.Stats class reference.html
+git.repo.Repo.create_head method reference.html
+git.diff.Diff.renamed attribute reference.html
+git.remote.RemoteProgress class reference.html
+git.refs.TagReference.commit attribute reference.html
+git.index.IndexFile.repo attribute reference.html
+git.index.IndexEntry.size attribute reference.html
+git.repo.Repo.description attribute reference.html
+git.index.IndexFile.reset method reference.html
+git.repo.Repo.remote method reference.html
+git.utils.SHA1Writer.write method reference.html
+git.repo.touch function reference.html
+git.diff.Diff.b_mode attribute reference.html
+git.objects.base.Object class reference.html
+git.objects.commit.Commit.author attribute reference.html
+git.refs.Reference.create classmethod reference.html
+git.index.default_index function reference.html
+git.utils.to_native_path_linux function reference.html
+git.diff.DiffIndex.iter_change_type method reference.html
+git.objects.commit.Commit.count method reference.html
+git.utils.to_native_path_windows function reference.html
+git.utils.BlockingLockFile class reference.html
+git.refs.SymbolicReference.repo attribute reference.html
+git.objects.commit.Commit.tree attribute reference.html
+git.config.GitConfigParser attribute reference.html
+git.repo.Repo.remotes attribute reference.html
+git.refs.SymbolicReference.create classmethod reference.html
+git.remote.Remote.name attribute reference.html
+git.repo.Repo.daemon_export attribute reference.html
+git.objects.utils.Traversable class reference.html
+git.diff.Diffable class reference.html
+git.utils.LockFile class reference.html
+git.index.clear_cache function reference.html
+git.remote.PushInfo.remote_ref_string attribute reference.html
+git.diff.Diff.deleted_file attribute reference.html
+git.repo.Repo.heads attribute reference.html
+git.index.BlobFilter class reference.html
+git.index.IndexEntry.from_base classmethod reference.html
+git.refs.SymbolicReference.ref attribute reference.html
+git.cmd.Git.clear_cache method reference.html
+git.cmd.Git.working_dir attribute reference.html
+git.cmd.dashify function reference.html
+git.errors.NoSuchPathError exception reference.html
+git.objects.commit.Commit.name_rev attribute reference.html
+git.remote.FetchInfo.note attribute reference.html
+git.repo.Repo.references attribute reference.html
+git.utils.SHA1Writer.write_sha method reference.html
+git.cmd.Git.execute method reference.html
+git.diff.Diff.a_blob attribute reference.html
+git.refs.HEAD.reset method reference.html
+git.index.IndexEntry.from_blob classmethod reference.html
+git.objects.commit.Commit.summary attribute reference.html
+git.utils.ConcurrentWriteOperation class reference.html
+git.remote.PushInfo class reference.html
+git.index.IndexEntry.uid attribute reference.html
+git.refs.Head class reference.html
+git.cmd.Git.cat_file_all attribute reference.html
+git.repo.Repo.active_branch attribute reference.html
+git.repo.Repo.refs attribute reference.html
+git.remote.PushInfo.remote_ref attribute reference.html
+git.index.IndexFile.diff method reference.html
+git.refs.SymbolicReference.delete classmethod reference.html
+git.objects.commit.Commit.create_from_tree classmethod reference.html
+git.utils.Iterable.iter_items classmethod reference.html
+git.refs.Head.checkout method reference.html
+git.index.IndexEntry class reference.html
+git.objects.tree.sha_to_hex function reference.html
+git.index.IndexFile.path attribute reference.html
+git.refs.SymbolicReference.rename method reference.html
+git.index.IndexFile.resolve_blobs method reference.html
+git.repo.Repo.archive method reference.html
+git.index.IndexFile.version attribute reference.html
+git.index.BaseIndexEntry.path attribute reference.html
+git.objects.base.Object.stream_data method reference.html
+git.repo.Repo.untracked_files attribute reference.html
+git.refs.Reference.iter_items classmethod reference.html
+git.cmd.Git.AutoInterrupt.proc attribute reference.html
+git.remote.PushInfo.old_commit attribute reference.html
+git.repo.Repo.branches attribute reference.html
+git.objects.commit.Commit.authored_date attribute reference.html
+git.objects.tag.TagObject.tagger attribute reference.html
+git.cmd.Git.AutoInterrupt.args attribute reference.html
+git.refs.SymbolicReference.from_path classmethod reference.html
+git.remote.Remote.refs attribute reference.html
+git.remote.Remote.rm classmethod reference.html
+git.objects.base.IndexObject class reference.html
+git.refs.Head.create classmethod reference.html
+git.repo.Repo.create_tag method reference.html
+git.objects.tree.Tree.traverse method reference.html
+git.remote.Remote.remove classmethod reference.html
+git.remote.PushInfo.flags attribute reference.html
+git.cmd.Git class reference.html
+git.repo.Repo.iter_trees method reference.html
+git.diff.Diff.rename_from attribute reference.html
+git.objects.tree.Tree class reference.html
+git.objects.commit.Commit.stats attribute reference.html
+git.refs.Reference.name attribute reference.html
+git.utils.LazyMixin class reference.html
+git.refs.SymbolicReference.is_valid method reference.html
+git.repo.Repo.delete_remote method reference.html
+git.diff.Diff.new_file attribute reference.html
+git.remote.FetchInfo.ref attribute reference.html
+git.refs.TagReference class reference.html
+git.refs.RemoteReference class reference.html
+git.remote.FetchInfo class reference.html
+git.repo.Repo.iter_commits method reference.html
+git.remote.PushInfo.local_ref attribute reference.html
+git.objects.tag.TagObject.tag attribute reference.html
+git.utils.SHA1Writer.f attribute reference.html
+git.objects.tag.TagObject.object attribute reference.html
+git.index.BaseIndexEntry.mode attribute reference.html
+git.remote.Remote.push method reference.html
+git.index.IndexFile.move method reference.html
+git.objects.blob.Blob class reference.html
+git.index.IndexFile.write method reference.html
+git.diff.Diff.diff attribute reference.html
+git.remote.PushInfo.summary attribute reference.html
+git.remote.FetchInfo.old_commit attribute reference.html
+git.cmd.Git.cat_file_header attribute reference.html
+git.index.IndexFile.entries attribute reference.html
+git.refs.Head.rename method reference.html
+git.stats.Stats.total attribute reference.html
+git.repo.Repo.config_writer method reference.html
+git.refs.Reference.object attribute reference.html
+git.utils.make_sha function reference.html
+git.remote.Remote.config_writer attribute reference.html
+git.utils.Iterable class reference.html
+git.repo.Repo.delete_tag method reference.html
+git.objects.tag.TagObject.tagged_date attribute reference.html
+git.refs.Tag attribute reference.html
+git.index.IndexFile.merge_tree method reference.html
+git.objects.tag.TagObject class reference.html
+git.remote.FetchInfo.commit attribute reference.html
+git.refs.SymbolicReference.iter_items classmethod reference.html
+git.remote.Remote.fetch method reference.html
+git.refs.SymbolicReference.to_full_path classmethod reference.html
+git.remote.Remote class reference.html
+git.diff.Diffable.diff method reference.html
+git.objects.utils.parse_actor_and_date function reference.html
+git.index.IndexEntry.gid attribute reference.html
+git.refs.SymbolicReference.path attribute reference.html
+git.remote.FetchInfo.name attribute reference.html
+git.index.BaseIndexEntry class reference.html
+git.repo.Repo.blame method reference.html
+git.index.IndexFile.from_tree classmethod reference.html
+git.repo.Repo.commit method reference.html
+git.index.BaseIndexEntry.from_blob classmethod reference.html
+git.repo.Repo.clone method reference.html
+git.refs.SymbolicReference.commit attribute reference.html
+git.refs.TagReference.delete classmethod reference.html
+git.utils.SHA1Writer class reference.html
+git.objects.commit.Commit.parents attribute reference.html
+git.index.IndexFile.add method reference.html
+git.index.BlobFilter.paths attribute reference.html
+git.errors.GitCommandError exception reference.html
+git.errors.InvalidGitRepositoryError exception reference.html
+git.repo.Repo.working_dir attribute reference.html
+git.objects.commit.Commit.author_tz_offset attribute reference.html
+git.refs.RemoteReference.delete classmethod reference.html
+git.index.IndexFile.checkout method reference.html
+git.remote.Remote.stale_refs attribute reference.html
+git.diff.Diff.rename_to attribute reference.html
+git.remote.RemoteProgress.line_dropped method reference.html
+git.remote.Remote.config_reader attribute reference.html
+git.repo.Repo.bare attribute reference.html
+git.repo.Repo.tree method reference.html
+git.repo.is_git_dir function reference.html
+git.objects.utils.Traversable.traverse method reference.html
+git.cmd.Git.AutoInterrupt.wait method reference.html
+git.repo.Repo.git_dir attribute reference.html
+git.objects.commit.Commit.iter_parents method reference.html
+git.refs.RemoteReference.remote_name attribute reference.html
+git.index.IndexFile.commit method reference.html
+git.index.IndexFile.write_tree method reference.html
+git.utils.join_path_native function reference.html
+git.objects.base.Object.size attribute reference.html
+git.cmd.Git.transform_kwargs method reference.html
+git.refs.SymbolicReference class reference.html
+git.index.IndexFile.update method reference.html
+git.index.IndexEntry.mtime attribute reference.html
+git.repo.Repo.tags attribute reference.html
+git.repo.Repo class reference.html
+git.repo.Repo.index attribute reference.html
+git.diff.DiffIndex class reference.html
+git.repo.Repo.init classmethod reference.html
+git.repo.Repo.head attribute reference.html
+git.remote.Remote.rename method reference.html
+git.index.CheckoutError exception reference.html
+git.objects.tree.Tree.trees attribute reference.html
+git.repo.Repo.working_tree_dir attribute reference.html
+git.utils.to_native_path function reference.html
+git.actor.Actor class reference.html
+git.index.IndexEntry.ctime attribute reference.html
+git.cmd.Git.get_object_header method reference.html
+git.utils.SHA1Writer.close method reference.html
+git.index.IndexEntry.dev attribute reference.html
+git.stats.Stats.files attribute reference.html
+git.refs.Head.delete classmethod reference.html
+git.remote.Remote.iter_items classmethod reference.html
+git.refs.SymbolicReference.reference attribute reference.html
+git.objects.commit.Commit class reference.html
+git.remote.FetchInfo.flags attribute reference.html
+git.repo.Repo.tag method reference.html
+git.refs.TagReference.create classmethod reference.html
+git.repo.Repo.is_dirty method reference.html
+git.remote.Remote.update method reference.html
+git.utils.join_path function reference.html
+git.objects.utils.get_object_type_by_name function reference.html
+git.objects.commit.Commit.iter_items classmethod reference.html
+git.remote.Remote.add classmethod reference.html
+git.objects.base.Object.sha attribute reference.html
+git.remote.RemoteProgress.update method reference.html
+git.objects.tree.Tree.blobs attribute reference.html
+git.cmd.Git.AutoInterrupt class reference.html
+git.repo.Repo.create_remote method reference.html
+git.index.IndexFile class reference.html
+git.repo.Repo.git attribute reference.html
+git.objects.commit.Commit.committer_tz_offset attribute reference.html
+git.index.IndexFile.iter_blobs method reference.html
+git.utils.SHA1Writer.tell method reference.html
+git.utils.IterableList class reference.html
+git.objects.tag.TagObject.tagger_tz_offset attribute reference.html
+git.refs.SymbolicReference.name attribute reference.html
+git.objects.base.Object.data attribute reference.html
+git.objects.base.IndexObject.mode attribute reference.html
+git.diff.Diff.a_mode attribute reference.html
diff --git a/doc/doc_index/0.2/reference.html b/doc/doc_index/0.2/reference.html
index 41241318..79de7334 100644
--- a/doc/doc_index/0.2/reference.html
+++ b/doc/doc_index/0.2/reference.html
@@ -31,6 +31,9 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
+ <li class="right" >
<a href="roadmap.html" title="Roadmap"
accesskey="N">next</a> |</li>
<li class="right" >
@@ -47,56 +50,2762 @@
<div class="section" id="api-reference">
<span id="api-reference-toplevel"></span><h1>API Reference<a class="headerlink" href="#api-reference" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="actor">
-<h2>Actor<a class="headerlink" href="#actor" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.actor">
+<h2>Actor<a class="headerlink" href="#module-git.actor" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.actor.Actor">
+<em class="property">class </em><tt class="descclassname">git.actor.</tt><tt class="descname">Actor</tt><big>(</big><em>name</em>, <em>email</em><big>)</big><a class="headerlink" href="#git.actor.Actor" title="Permalink to this definition">¶</a></dt>
+<dd>Actors hold information about a person acting on the repository. They
+can be committers and authors or anything with a name and an email as
+mentioned in the git log entries.</dd></dl>
+
</div>
-<div class="section" id="objects-base">
-<h2>Objects.Base<a class="headerlink" href="#objects-base" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.objects.base">
+<h2>Objects.Base<a class="headerlink" href="#module-git.objects.base" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.objects.base.IndexObject">
+<em class="property">class </em><tt class="descclassname">git.objects.base.</tt><tt class="descname">IndexObject</tt><big>(</big><em>repo</em>, <em>sha</em>, <em>mode=None</em>, <em>path=None</em><big>)</big><a class="headerlink" href="#git.objects.base.IndexObject" title="Permalink to this definition">¶</a></dt>
+<dd><p>Base for all objects that can be part of the index file , namely Tree, Blob and
+SubModule objects</p>
+<dl class="attribute">
+<dt id="git.objects.base.IndexObject.abspath">
+<tt class="descname">abspath</tt><a class="headerlink" href="#git.objects.base.IndexObject.abspath" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd><p class="first">Absolute path to this index object in the file system ( as opposed to the
+.path field which is a path relative to the git repository ).</p>
+<p class="last">The returned path will be native to the system and contains &#8216;&#8217; on windows.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.IndexObject.mode">
+<tt class="descname">mode</tt><a class="headerlink" href="#git.objects.base.IndexObject.mode" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.IndexObject.name">
+<tt class="descname">name</tt><a class="headerlink" href="#git.objects.base.IndexObject.name" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Name portion of the path, effectively being the basename</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.IndexObject.path">
+<tt class="descname">path</tt><a class="headerlink" href="#git.objects.base.IndexObject.path" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.objects.base.Object">
+<em class="property">class </em><tt class="descclassname">git.objects.base.</tt><tt class="descname">Object</tt><big>(</big><em>repo</em>, <em>id</em><big>)</big><a class="headerlink" href="#git.objects.base.Object" title="Permalink to this definition">¶</a></dt>
+<dd><p>Implements an Object which may be Blobs, Trees, Commits and Tags</p>
+<p>This Object also serves as a constructor for instances of the correct type:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">inst</span> <span class="o">=</span> <span class="n">Object</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span><span class="nb">id</span><span class="p">)</span>
+<span class="n">inst</span><span class="o">.</span><span class="n">sha</span> <span class="c"># objects sha in hex</span>
+<span class="n">inst</span><span class="o">.</span><span class="n">size</span> <span class="c"># objects uncompressed data size</span>
+<span class="n">inst</span><span class="o">.</span><span class="n">data</span> <span class="c"># byte string containing the whole data of the object</span>
+</pre></div>
</div>
-<div class="section" id="objects-blob">
-<h2>Objects.Blob<a class="headerlink" href="#objects-blob" title="Permalink to this headline">¶</a></h2>
+<dl class="attribute">
+<dt id="git.objects.base.Object.data">
+<tt class="descname">data</tt><a class="headerlink" href="#git.objects.base.Object.data" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.Object.data_stream">
+<tt class="descname">data_stream</tt><a class="headerlink" href="#git.objects.base.Object.data_stream" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns </dt>
+<dd>File Object compatible stream to the uncompressed raw data of the object</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.objects.base.Object.new">
+<em class="property">classmethod </em><tt class="descname">new</tt><big>(</big><em>repo</em>, <em>id</em><big>)</big><a class="headerlink" href="#git.objects.base.Object.new" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>New Object instance of a type appropriate to the object type behind
+id. The id of the newly created object will be a hexsha even though
+the input id may have been a Reference or Rev-Spec</dd>
+<dt>Note</dt>
+<dd>This cannot be a __new__ method as it would always call __init__
+with the input id which is not necessarily a hexsha.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.Object.repo">
+<tt class="descname">repo</tt><a class="headerlink" href="#git.objects.base.Object.repo" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.Object.sha">
+<tt class="descname">sha</tt><a class="headerlink" href="#git.objects.base.Object.sha" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.base.Object.size">
+<tt class="descname">size</tt><a class="headerlink" href="#git.objects.base.Object.size" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.objects.base.Object.stream_data">
+<tt class="descname">stream_data</tt><big>(</big><em>ostream</em><big>)</big><a class="headerlink" href="#git.objects.base.Object.stream_data" title="Permalink to this definition">¶</a></dt>
+<dd><p>Writes our data directly to the given output stream</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">ostream</span></tt></dt>
+<dd>File object compatible stream object.</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
</div>
-<div class="section" id="objects-commit">
-<h2>Objects.Commit<a class="headerlink" href="#objects-commit" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.objects.blob">
+<h2>Objects.Blob<a class="headerlink" href="#module-git.objects.blob" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.objects.blob.Blob">
+<em class="property">class </em><tt class="descclassname">git.objects.blob.</tt><tt class="descname">Blob</tt><big>(</big><em>repo</em>, <em>sha</em>, <em>mode=None</em>, <em>path=None</em><big>)</big><a class="headerlink" href="#git.objects.blob.Blob" title="Permalink to this definition">¶</a></dt>
+<dd><p>A Blob encapsulates a git blob object</p>
+<dl class="attribute">
+<dt id="git.objects.blob.Blob.mime_type">
+<tt class="descname">mime_type</tt><a class="headerlink" href="#git.objects.blob.Blob.mime_type" title="Permalink to this definition">¶</a></dt>
+<dd><p>The mime type of this file (based on the filename)</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>str</dd>
+<dt>NOTE</dt>
+<dd>Defaults to &#8216;text/plain&#8217; in case the actual file type is unknown.</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
</div>
-<div class="section" id="objects-tag">
-<h2>Objects.Tag<a class="headerlink" href="#objects-tag" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.objects.commit">
+<h2>Objects.Commit<a class="headerlink" href="#module-git.objects.commit" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.objects.commit.Commit">
+<em class="property">class </em><tt class="descclassname">git.objects.commit.</tt><tt class="descname">Commit</tt><big>(</big><em>repo</em>, <em>sha</em>, <em>tree=None</em>, <em>author=None</em>, <em>authored_date=None</em>, <em>author_tz_offset=None</em>, <em>committer=None</em>, <em>committed_date=None</em>, <em>committer_tz_offset=None</em>, <em>message=None</em>, <em>parents=None</em><big>)</big><a class="headerlink" href="#git.objects.commit.Commit" title="Permalink to this definition">¶</a></dt>
+<dd><p>Wraps a git Commit object.</p>
+<p>This class will act lazily on some of its attributes and will query the
+value on demand only if it involves calling the git binary.</p>
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.author">
+<tt class="descname">author</tt><a class="headerlink" href="#git.objects.commit.Commit.author" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.author_tz_offset">
+<tt class="descname">author_tz_offset</tt><a class="headerlink" href="#git.objects.commit.Commit.author_tz_offset" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.authored_date">
+<tt class="descname">authored_date</tt><a class="headerlink" href="#git.objects.commit.Commit.authored_date" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.committed_date">
+<tt class="descname">committed_date</tt><a class="headerlink" href="#git.objects.commit.Commit.committed_date" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.committer">
+<tt class="descname">committer</tt><a class="headerlink" href="#git.objects.commit.Commit.committer" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.committer_tz_offset">
+<tt class="descname">committer_tz_offset</tt><a class="headerlink" href="#git.objects.commit.Commit.committer_tz_offset" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.objects.commit.Commit.count">
+<tt class="descname">count</tt><big>(</big><em>paths=''</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.objects.commit.Commit.count" title="Permalink to this definition">¶</a></dt>
+<dd><p>Count the number of commits reachable from this commit</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">paths</span></tt></dt>
+<dd>is an optinal path or a list of paths restricting the return value
+to commits actually containing the paths</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Additional options to be passed to git-rev-list. They must not alter
+the ouput style of the command, or parsing will yield incorrect results</dd>
+<dt>Returns</dt>
+<dd>int</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.objects.commit.Commit.create_from_tree">
+<em class="property">classmethod </em><tt class="descname">create_from_tree</tt><big>(</big><em>repo</em>, <em>tree</em>, <em>message</em>, <em>parent_commits=None</em>, <em>head=False</em><big>)</big><a class="headerlink" href="#git.objects.commit.Commit.create_from_tree" title="Permalink to this definition">¶</a></dt>
+<dd><p>Commit the given tree, creating a commit object.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">repo</span></tt></dt>
+<dd>is the Repo</dd>
+<dt><tt class="docutils literal"><span class="pre">tree</span></tt></dt>
+<dd>Sha of a tree or a tree object to become the tree of the new commit</dd>
+<dt><tt class="docutils literal"><span class="pre">message</span></tt></dt>
+<dd>Commit message. It may be an empty string if no message is provided.
+It will be converted to a string in any case.</dd>
+<dt><tt class="docutils literal"><span class="pre">parent_commits</span></tt></dt>
+<dd>Optional Commit objects to use as parents for the new commit.
+If empty list, the commit will have no parents at all and become
+a root commit.
+If None , the current head commit will be the parent of the
+new commit object</dd>
+<dt><tt class="docutils literal"><span class="pre">head</span></tt></dt>
+<dd>If True, the HEAD will be advanced to the new commit automatically.
+Else the HEAD will remain pointing on the previous commit. This could
+lead to undesired results when diffing files.</dd>
+<dt>Returns</dt>
+<dd>Commit object representing the new commit</dd>
+<dt>Note:</dt>
+<dd>Additional information about hte committer and Author are taken from the
+environment or from the git configuration, see git-commit-tree for
+more information</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.objects.commit.Commit.iter_items">
+<em class="property">classmethod </em><tt class="descname">iter_items</tt><big>(</big><em>repo</em>, <em>rev</em>, <em>paths=''</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.objects.commit.Commit.iter_items" title="Permalink to this definition">¶</a></dt>
+<dd><p>Find all commits matching the given criteria.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">repo</span></tt></dt>
+<dd>is the Repo</dd>
+<dt><tt class="docutils literal"><span class="pre">rev</span></tt></dt>
+<dd>revision specifier, see git-rev-parse for viable options</dd>
+<dt><tt class="docutils literal"><span class="pre">paths</span></tt></dt>
+<dd>is an optinal path or list of paths, if set only Commits that include the path
+or paths will be considered</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>optional keyword arguments to git rev-list where
+<tt class="docutils literal"><span class="pre">max_count</span></tt> is the maximum number of commits to fetch
+<tt class="docutils literal"><span class="pre">skip</span></tt> is the number of commits to skip
+<tt class="docutils literal"><span class="pre">since</span></tt> all commits since i.e. &#8216;1970-01-01&#8217;</dd>
+<dt>Returns</dt>
+<dd>iterator yielding Commit items</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.objects.commit.Commit.iter_parents">
+<tt class="descname">iter_parents</tt><big>(</big><em>paths=''</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.objects.commit.Commit.iter_parents" title="Permalink to this definition">¶</a></dt>
+<dd><p>Iterate _all_ parents of this commit.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">paths</span></tt></dt>
+<dd>Optional path or list of paths limiting the Commits to those that
+contain at least one of the paths</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>All arguments allowed by git-rev-list</dd>
+<dt>Return:</dt>
+<dd>Iterator yielding Commit objects which are parents of self</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.message">
+<tt class="descname">message</tt><a class="headerlink" href="#git.objects.commit.Commit.message" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.name_rev">
+<tt class="descname">name_rev</tt><a class="headerlink" href="#git.objects.commit.Commit.name_rev" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>String describing the commits hex sha based on the closest Reference.
+Mostly useful for UI purposes</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.parents">
+<tt class="descname">parents</tt><a class="headerlink" href="#git.objects.commit.Commit.parents" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.stats">
+<tt class="descname">stats</tt><a class="headerlink" href="#git.objects.commit.Commit.stats" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a git stat from changes between this commit and its first parent
+or from all changes done if this is the very first commit.</p>
+<dl class="docutils">
+<dt>Return</dt>
+<dd>git.Stats</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.summary">
+<tt class="descname">summary</tt><a class="headerlink" href="#git.objects.commit.Commit.summary" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>First line of the commit message.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.commit.Commit.tree">
+<tt class="descname">tree</tt><a class="headerlink" href="#git.objects.commit.Commit.tree" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
</div>
-<div class="section" id="objects-tree">
-<h2>Objects.Tree<a class="headerlink" href="#objects-tree" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.objects.tag">
+<h2>Objects.Tag<a class="headerlink" href="#module-git.objects.tag" title="Permalink to this headline">¶</a></h2>
+<p>Module containing all object based types.</p>
+<dl class="class">
+<dt id="git.objects.tag.TagObject">
+<em class="property">class </em><tt class="descclassname">git.objects.tag.</tt><tt class="descname">TagObject</tt><big>(</big><em>repo</em>, <em>sha</em>, <em>object=None</em>, <em>tag=None</em>, <em>tagger=None</em>, <em>tagged_date=None</em>, <em>tagger_tz_offset=None</em>, <em>message=None</em><big>)</big><a class="headerlink" href="#git.objects.tag.TagObject" title="Permalink to this definition">¶</a></dt>
+<dd><p>Non-Lightweight tag carrying additional information about an object we are pointing
+to.</p>
+<dl class="attribute">
+<dt id="git.objects.tag.TagObject.message">
+<tt class="descname">message</tt><a class="headerlink" href="#git.objects.tag.TagObject.message" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.tag.TagObject.object">
+<tt class="descname">object</tt><a class="headerlink" href="#git.objects.tag.TagObject.object" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.tag.TagObject.tag">
+<tt class="descname">tag</tt><a class="headerlink" href="#git.objects.tag.TagObject.tag" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.tag.TagObject.tagged_date">
+<tt class="descname">tagged_date</tt><a class="headerlink" href="#git.objects.tag.TagObject.tagged_date" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.tag.TagObject.tagger">
+<tt class="descname">tagger</tt><a class="headerlink" href="#git.objects.tag.TagObject.tagger" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.tag.TagObject.tagger_tz_offset">
+<tt class="descname">tagger_tz_offset</tt><a class="headerlink" href="#git.objects.tag.TagObject.tagger_tz_offset" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
</div>
-<div class="section" id="objects-utils">
-<h2>Objects.Utils<a class="headerlink" href="#objects-utils" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.objects.tree">
+<h2>Objects.Tree<a class="headerlink" href="#module-git.objects.tree" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.objects.tree.Tree">
+<em class="property">class </em><tt class="descclassname">git.objects.tree.</tt><tt class="descname">Tree</tt><big>(</big><em>repo</em>, <em>sha</em>, <em>mode=0</em>, <em>path=None</em><big>)</big><a class="headerlink" href="#git.objects.tree.Tree" title="Permalink to this definition">¶</a></dt>
+<dd><p>Tress represent a ordered list of Blobs and other Trees. Hence it can be
+accessed like a list.</p>
+<p>Tree&#8217;s will cache their contents after first retrieval to improve efficiency.</p>
+<p><tt class="docutils literal"><span class="pre">Tree</span> <span class="pre">as</span> <span class="pre">a</span> <span class="pre">list</span></tt>:</p>
+<div class="highlight-python"><pre>Access a specific blob using the
+tree['filename'] notation.
+
+You may as well access by index
+blob = tree[0]</pre>
</div>
-<div class="section" id="gitcmd">
-<h2>GitCmd<a class="headerlink" href="#gitcmd" title="Permalink to this headline">¶</a></h2>
+<dl class="attribute">
+<dt id="git.objects.tree.Tree.blobs">
+<tt class="descname">blobs</tt><a class="headerlink" href="#git.objects.tree.Tree.blobs" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>list(Blob, ...) list of blobs directly below this tree</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.objects.tree.Tree.traverse">
+<tt class="descname">traverse</tt><big>(</big><em>predicate=&lt;function &lt;lambda&gt; at 0x1e0b050&gt;</em>, <em>prune=&lt;function &lt;lambda&gt; at 0x1e0b0c8&gt;</em>, <em>depth=-1</em>, <em>branch_first=True</em>, <em>visit_once=False</em>, <em>ignore_self=1</em><big>)</big><a class="headerlink" href="#git.objects.tree.Tree.traverse" title="Permalink to this definition">¶</a></dt>
+<dd><p>For documentation, see utils.Traversable.traverse</p>
+<p>Trees are set to visist_once = False to gain more performance in the traversal</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.objects.tree.Tree.trees">
+<tt class="descname">trees</tt><a class="headerlink" href="#git.objects.tree.Tree.trees" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>list(Tree, ...) list of trees directly below this tree</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="git.objects.tree.sha_to_hex">
+<tt class="descclassname">git.objects.tree.</tt><tt class="descname">sha_to_hex</tt><big>(</big><em>sha</em><big>)</big><a class="headerlink" href="#git.objects.tree.sha_to_hex" title="Permalink to this definition">¶</a></dt>
+<dd>Takes a string and returns the hex of the sha within</dd></dl>
+
</div>
-<div class="section" id="config">
-<h2>Config<a class="headerlink" href="#config" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.objects.utils">
+<h2>Objects.Utils<a class="headerlink" href="#module-git.objects.utils" title="Permalink to this headline">¶</a></h2>
+<p>Module for general utility functions</p>
+<dl class="class">
+<dt id="git.objects.utils.ProcessStreamAdapter">
+<em class="property">class </em><tt class="descclassname">git.objects.utils.</tt><tt class="descname">ProcessStreamAdapter</tt><big>(</big><em>process</em>, <em>stream_name</em><big>)</big><a class="headerlink" href="#git.objects.utils.ProcessStreamAdapter" title="Permalink to this definition">¶</a></dt>
+<dd><p>Class wireing all calls to the contained Process instance.</p>
+<p>Use this type to hide the underlying process to provide access only to a specified
+stream. The process is usually wrapped into an AutoInterrupt class to kill
+it if the instance goes out of scope.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="git.objects.utils.Traversable">
+<em class="property">class </em><tt class="descclassname">git.objects.utils.</tt><tt class="descname">Traversable</tt><a class="headerlink" href="#git.objects.utils.Traversable" title="Permalink to this definition">¶</a></dt>
+<dd><p>Simple interface to perforam depth-first or breadth-first traversals
+into one direction.
+Subclasses only need to implement one function.
+Instances of the Subclass must be hashable</p>
+<dl class="method">
+<dt id="git.objects.utils.Traversable.traverse">
+<tt class="descname">traverse</tt><big>(</big><em>predicate=&lt;function &lt;lambda&gt; at 0x1df9de8&gt;</em>, <em>prune=&lt;function &lt;lambda&gt; at 0x1df9e60&gt;</em>, <em>depth=-1</em>, <em>branch_first=True</em>, <em>visit_once=True</em>, <em>ignore_self=1</em>, <em>as_edge=False</em><big>)</big><a class="headerlink" href="#git.objects.utils.Traversable.traverse" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">Returns</span></tt></dt>
+<dd>iterator yieling of items found when traversing self</dd>
+<dt><tt class="docutils literal"><span class="pre">predicate</span></tt></dt>
+<dd>f(i,d) returns False if item i at depth d should not be included in the result</dd>
+<dt><tt class="docutils literal"><span class="pre">prune</span></tt></dt>
+<dd>f(i,d) return True if the search should stop at item i at depth d.
+Item i will not be returned.</dd>
+<dt><tt class="docutils literal"><span class="pre">depth</span></tt></dt>
+<dd>define at which level the iteration should not go deeper
+if -1, there is no limit
+if 0, you would effectively only get self, the root of the iteration
+i.e. if 1, you would only get the first level of predessessors/successors</dd>
+<dt><tt class="docutils literal"><span class="pre">branch_first</span></tt></dt>
+<dd>if True, items will be returned branch first, otherwise depth first</dd>
+<dt><tt class="docutils literal"><span class="pre">visit_once</span></tt></dt>
+<dd>if True, items will only be returned once, although they might be encountered
+several times. Loops are prevented that way.</dd>
+<dt><tt class="docutils literal"><span class="pre">ignore_self</span></tt></dt>
+<dd>if True, self will be ignored and automatically pruned from
+the result. Otherwise it will be the first item to be returned.
+If as_edge is True, the source of the first edge is None</dd>
+<dt><tt class="docutils literal"><span class="pre">as_edge</span></tt></dt>
+<dd>if True, return a pair of items, first being the source, second the
+destinatination, i.e. tuple(src, dest) with the edge spanning from
+source to destination</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="git.objects.utils.get_object_type_by_name">
+<tt class="descclassname">git.objects.utils.</tt><tt class="descname">get_object_type_by_name</tt><big>(</big><em>object_type_name</em><big>)</big><a class="headerlink" href="#git.objects.utils.get_object_type_by_name" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>type suitable to handle the given object type name.
+Use the type to create new instances.</dd>
+<dt><tt class="docutils literal"><span class="pre">object_type_name</span></tt></dt>
+<dd>Member of TYPES</dd>
+<dt>Raises</dt>
+<dd>ValueError: In case object_type_name is unknown</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="git.objects.utils.parse_actor_and_date">
+<tt class="descclassname">git.objects.utils.</tt><tt class="descname">parse_actor_and_date</tt><big>(</big><em>line</em><big>)</big><a class="headerlink" href="#git.objects.utils.parse_actor_and_date" title="Permalink to this definition">¶</a></dt>
+<dd><p>Parse out the actor (author or committer) info from a line like:</p>
+<div class="highlight-python"><pre>author Tom Preston-Werner &lt;tom@mojombo.com&gt; 1191999972 -0700</pre>
</div>
-<div class="section" id="diff">
-<h2>Diff<a class="headerlink" href="#diff" title="Permalink to this headline">¶</a></h2>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>[Actor, int_seconds_since_epoch, int_timezone_offset]</dd>
+</dl>
+</dd></dl>
+
</div>
-<div class="section" id="errors">
-<h2>Errors<a class="headerlink" href="#errors" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.cmd">
+<h2>GitCmd<a class="headerlink" href="#module-git.cmd" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.cmd.Git">
+<em class="property">class </em><tt class="descclassname">git.cmd.</tt><tt class="descname">Git</tt><big>(</big><em>working_dir=None</em><big>)</big><a class="headerlink" href="#git.cmd.Git" title="Permalink to this definition">¶</a></dt>
+<dd><p>The Git class manages communication with the Git binary.</p>
+<p>It provides a convenient interface to calling the Git binary, such as in:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">g</span> <span class="o">=</span> <span class="n">Git</span><span class="p">(</span> <span class="n">git_dir</span> <span class="p">)</span>
+<span class="n">g</span><span class="o">.</span><span class="n">init</span><span class="p">()</span> <span class="c"># calls &#39;git init&#39; program</span>
+<span class="n">rval</span> <span class="o">=</span> <span class="n">g</span><span class="o">.</span><span class="n">ls_files</span><span class="p">()</span> <span class="c"># calls &#39;git ls-files&#39; program</span>
+</pre></div>
</div>
-<div class="section" id="index">
-<h2>Index<a class="headerlink" href="#index" title="Permalink to this headline">¶</a></h2>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">Debugging</span></tt></dt>
+<dd>Set the GIT_PYTHON_TRACE environment variable print each invocation
+of the command to stdout.
+Set its value to &#8216;full&#8217; to see details about the returned values.</dd>
+</dl>
+<dl class="class">
+<dt id="git.cmd.Git.AutoInterrupt">
+<em class="property">class </em><tt class="descname">AutoInterrupt</tt><big>(</big><em>proc</em>, <em>args</em><big>)</big><a class="headerlink" href="#git.cmd.Git.AutoInterrupt" title="Permalink to this definition">¶</a></dt>
+<dd><p>Kill/Interrupt the stored process instance once this instance goes out of scope. It is
+used to prevent processes piling up in case iterators stop reading.
+Besides all attributes are wired through to the contained process object.</p>
+<p>The wait method was overridden to perform automatic status code checking
+and possibly raise.</p>
+<dl class="attribute">
+<dt id="git.cmd.Git.AutoInterrupt.args">
+<tt class="descname">args</tt><a class="headerlink" href="#git.cmd.Git.AutoInterrupt.args" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.cmd.Git.AutoInterrupt.proc">
+<tt class="descname">proc</tt><a class="headerlink" href="#git.cmd.Git.AutoInterrupt.proc" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.cmd.Git.AutoInterrupt.wait">
+<tt class="descname">wait</tt><big>(</big><big>)</big><a class="headerlink" href="#git.cmd.Git.AutoInterrupt.wait" title="Permalink to this definition">¶</a></dt>
+<dd><p>Wait for the process and return its status code.</p>
+<dl class="docutils">
+<dt>Raise</dt>
+<dd>GitCommandError if the return status is not 0</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.cmd.Git.cat_file_all">
+<tt class="descclassname">Git.</tt><tt class="descname">cat_file_all</tt><a class="headerlink" href="#git.cmd.Git.cat_file_all" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.cmd.Git.cat_file_header">
+<tt class="descclassname">Git.</tt><tt class="descname">cat_file_header</tt><a class="headerlink" href="#git.cmd.Git.cat_file_header" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.cmd.Git.clear_cache">
+<tt class="descclassname">Git.</tt><tt class="descname">clear_cache</tt><big>(</big><big>)</big><a class="headerlink" href="#git.cmd.Git.clear_cache" title="Permalink to this definition">¶</a></dt>
+<dd><p>Clear all kinds of internal caches to release resources.</p>
+<p>Currently persistent commands will be interrupted.</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.cmd.Git.execute">
+<tt class="descclassname">Git.</tt><tt class="descname">execute</tt><big>(</big><em>command</em>, <em>istream=None</em>, <em>with_keep_cwd=False</em>, <em>with_extended_output=False</em>, <em>with_exceptions=True</em>, <em>as_process=False</em>, <em>output_stream=None</em><big>)</big><a class="headerlink" href="#git.cmd.Git.execute" title="Permalink to this definition">¶</a></dt>
+<dd><p>Handles executing the command on the shell and consumes and returns
+the returned information (stdout)</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">command</span></tt></dt>
+<dd>The command argument list to execute.
+It should be a string, or a sequence of program arguments. The
+program to execute is the first item in the args sequence or string.</dd>
+<dt><tt class="docutils literal"><span class="pre">istream</span></tt></dt>
+<dd>Standard input filehandle passed to subprocess.Popen.</dd>
+<dt><tt class="docutils literal"><span class="pre">with_keep_cwd</span></tt></dt>
+<dd>Whether to use the current working directory from os.getcwd().
+The cmd otherwise uses its own working_dir that it has been initialized
+with if possible.</dd>
+<dt><tt class="docutils literal"><span class="pre">with_extended_output</span></tt></dt>
+<dd>Whether to return a (status, stdout, stderr) tuple.</dd>
+<dt><tt class="docutils literal"><span class="pre">with_exceptions</span></tt></dt>
+<dd>Whether to raise an exception when git returns a non-zero status.</dd>
+<dt><tt class="docutils literal"><span class="pre">as_process</span></tt></dt>
+<dd>Whether to return the created process instance directly from which
+streams can be read on demand. This will render with_extended_output and
+with_exceptions ineffective - the caller will have
+to deal with the details himself.
+It is important to note that the process will be placed into an AutoInterrupt
+wrapper that will interrupt the process once it goes out of scope. If you
+use the command in iterators, you should pass the whole process instance
+instead of a single stream.</dd>
+<dt><tt class="docutils literal"><span class="pre">output_stream</span></tt></dt>
+<dd>If set to a file-like object, data produced by the git command will be
+output to the given stream directly.
+This feature only has any effect if as_process is False. Processes will
+always be created with a pipe due to issues with subprocess.
+This merely is a workaround as data will be copied from the
+output pipe to the given output stream directly.</dd>
+</dl>
+<p>Returns:</p>
+<div class="highlight-python"><pre>str(output) # extended_output = False (Default)
+tuple(int(status), str(stdout), str(stderr)) # extended_output = True
+
+if ouput_stream is True, the stdout value will be your output stream:
+output_stream # extended_output = False
+tuple(int(status), output_stream, str(stderr))# extended_output = True</pre>
</div>
-<div class="section" id="refs">
-<h2>Refs<a class="headerlink" href="#refs" title="Permalink to this headline">¶</a></h2>
+<dl class="docutils">
+<dt>Raise</dt>
+<dd>GitCommandError</dd>
+<dt>NOTE</dt>
+<dd>If you add additional keyword arguments to the signature of this method,
+you must update the execute_kwargs tuple housed in this module.</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.cmd.Git.get_object_data">
+<tt class="descclassname">Git.</tt><tt class="descname">get_object_data</tt><big>(</big><em>ref</em><big>)</big><a class="headerlink" href="#git.cmd.Git.get_object_data" title="Permalink to this definition">¶</a></dt>
+<dd><p>As get_object_header, but returns object data as well</p>
+<dl class="docutils">
+<dt>Return:</dt>
+<dd>(hexsha, type_string, size_as_int,data_string)</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.cmd.Git.get_object_header">
+<tt class="descclassname">Git.</tt><tt class="descname">get_object_header</tt><big>(</big><em>ref</em><big>)</big><a class="headerlink" href="#git.cmd.Git.get_object_header" title="Permalink to this definition">¶</a></dt>
+<dd><p>Use this method to quickly examine the type and size of the object behind
+the given ref.</p>
+<dl class="docutils">
+<dt>NOTE</dt>
+<dd>The method will only suffer from the costs of command invocation
+once and reuses the command in subsequent calls.</dd>
+<dt>Return:</dt>
+<dd>(hexsha, type_string, size_as_int)</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.cmd.Git.transform_kwargs">
+<tt class="descclassname">Git.</tt><tt class="descname">transform_kwargs</tt><big>(</big><em>**kwargs</em><big>)</big><a class="headerlink" href="#git.cmd.Git.transform_kwargs" title="Permalink to this definition">¶</a></dt>
+<dd>Transforms Python style kwargs into git command line options.</dd></dl>
+
+<dl class="attribute">
+<dt id="git.cmd.Git.working_dir">
+<tt class="descclassname">Git.</tt><tt class="descname">working_dir</tt><a class="headerlink" href="#git.cmd.Git.working_dir" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Git directory we are working on</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="git.cmd.dashify">
+<tt class="descclassname">git.cmd.</tt><tt class="descname">dashify</tt><big>(</big><em>string</em><big>)</big><a class="headerlink" href="#git.cmd.dashify" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
</div>
-<div class="section" id="remote">
-<h2>Remote<a class="headerlink" href="#remote" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.config">
+<h2>Config<a class="headerlink" href="#module-git.config" title="Permalink to this headline">¶</a></h2>
+<p>Module containing module parser implementation able to properly read and write
+configuration files</p>
+<dl class="attribute">
+<dt id="git.config.GitConfigParser">
+<tt class="descclassname">git.config.</tt><tt class="descname">GitConfigParser</tt><a class="headerlink" href="#git.config.GitConfigParser" title="Permalink to this definition">¶</a></dt>
+<dd>alias of <tt class="xref docutils literal"><span class="pre">write</span></tt></dd></dl>
+
</div>
-<div class="section" id="repo">
-<h2>Repo<a class="headerlink" href="#repo" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="module-git.diff">
+<h2>Diff<a class="headerlink" href="#module-git.diff" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.diff.Diff">
+<em class="property">class </em><tt class="descclassname">git.diff.</tt><tt class="descname">Diff</tt><big>(</big><em>repo</em>, <em>a_path</em>, <em>b_path</em>, <em>a_blob_id</em>, <em>b_blob_id</em>, <em>a_mode</em>, <em>b_mode</em>, <em>new_file</em>, <em>deleted_file</em>, <em>rename_from</em>, <em>rename_to</em>, <em>diff</em><big>)</big><a class="headerlink" href="#git.diff.Diff" title="Permalink to this definition">¶</a></dt>
+<dd><p>A Diff contains diff information between two Trees.</p>
+<p>It contains two sides a and b of the diff, members are prefixed with
+&#8220;a&#8221; and &#8220;b&#8221; respectively to inidcate that.</p>
+<p>Diffs keep information about the changed blob objects, the file mode, renames,
+deletions and new files.</p>
+<p>There are a few cases where None has to be expected as member variable value:</p>
+<p><tt class="docutils literal"><span class="pre">New</span> <span class="pre">File</span></tt>:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">a_mode</span> <span class="ow">is</span> <span class="bp">None</span>
+<span class="n">a_blob</span> <span class="ow">is</span> <span class="bp">None</span>
+</pre></div>
</div>
-<div class="section" id="stats">
-<h2>Stats<a class="headerlink" href="#stats" title="Permalink to this headline">¶</a></h2>
+<p><tt class="docutils literal"><span class="pre">Deleted</span> <span class="pre">File</span></tt>:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">b_mode</span> <span class="ow">is</span> <span class="bp">None</span>
+<span class="n">b_blob</span> <span class="ow">is</span> <span class="bp">None</span>
+</pre></div>
</div>
-<div class="section" id="utils">
-<h2>Utils<a class="headerlink" href="#utils" title="Permalink to this headline">¶</a></h2>
+<p><tt class="docutils literal"><span class="pre">Working</span> <span class="pre">Tree</span> <span class="pre">Blobs</span></tt></p>
+<blockquote>
+When comparing to working trees, the working tree blob will have a null hexsha
+as a corresponding object does not yet exist. The mode will be null as well.
+But the path will be available though.
+If it is listed in a diff the working tree version of the file must
+be different to the version in the index or tree, and hence has been modified.</blockquote>
+<dl class="attribute">
+<dt id="git.diff.Diff.a_blob">
+<tt class="descname">a_blob</tt><a class="headerlink" href="#git.diff.Diff.a_blob" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.a_mode">
+<tt class="descname">a_mode</tt><a class="headerlink" href="#git.diff.Diff.a_mode" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.b_blob">
+<tt class="descname">b_blob</tt><a class="headerlink" href="#git.diff.Diff.b_blob" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.b_mode">
+<tt class="descname">b_mode</tt><a class="headerlink" href="#git.diff.Diff.b_mode" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.deleted_file">
+<tt class="descname">deleted_file</tt><a class="headerlink" href="#git.diff.Diff.deleted_file" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.diff">
+<tt class="descname">diff</tt><a class="headerlink" href="#git.diff.Diff.diff" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.new_file">
+<tt class="descname">new_file</tt><a class="headerlink" href="#git.diff.Diff.new_file" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.rename_from">
+<tt class="descname">rename_from</tt><a class="headerlink" href="#git.diff.Diff.rename_from" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.rename_to">
+<tt class="descname">rename_to</tt><a class="headerlink" href="#git.diff.Diff.rename_to" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.diff.Diff.renamed">
+<tt class="descname">renamed</tt><a class="headerlink" href="#git.diff.Diff.renamed" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns:</dt>
+<dd>True if the blob of our diff has been renamed</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.diff.DiffIndex">
+<em class="property">class </em><tt class="descclassname">git.diff.</tt><tt class="descname">DiffIndex</tt><a class="headerlink" href="#git.diff.DiffIndex" title="Permalink to this definition">¶</a></dt>
+<dd><p>Implements an Index for diffs, allowing a list of Diffs to be queried by
+the diff properties.</p>
+<p>The class improves the diff handling convenience</p>
+<dl class="method">
+<dt id="git.diff.DiffIndex.iter_change_type">
+<tt class="descname">iter_change_type</tt><big>(</big><em>change_type</em><big>)</big><a class="headerlink" href="#git.diff.DiffIndex.iter_change_type" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>iterator yieling Diff instances that match the given change_type</dd>
+<dt><tt class="docutils literal"><span class="pre">change_type</span></tt></dt>
+<dd><p class="first">Member of DiffIndex.change_type, namely</p>
+<p>&#8216;A&#8217; for added paths</p>
+<p>&#8216;D&#8217; for deleted paths</p>
+<p>&#8216;R&#8217; for renamed paths</p>
+<p class="last">&#8216;M&#8217; for paths with modified data</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.diff.Diffable">
+<em class="property">class </em><tt class="descclassname">git.diff.</tt><tt class="descname">Diffable</tt><a class="headerlink" href="#git.diff.Diffable" title="Permalink to this definition">¶</a></dt>
+<dd><p>Common interface for all object that can be diffed against another object of compatible type.</p>
+<dl class="docutils">
+<dt>NOTE: </dt>
+<dd>Subclasses require a repo member as it is the case for Object instances, for practical
+reasons we do not derive from Object.</dd>
+</dl>
+<dl class="class">
+<dt id="git.diff.Diffable.Index">
+<em class="property">class </em><tt class="descname">Index</tt><a class="headerlink" href="#git.diff.Diffable.Index" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.diff.Diffable.diff">
+<tt class="descclassname">Diffable.</tt><tt class="descname">diff</tt><big>(</big><em>other=&lt;class 'git.diff.Index'&gt;</em>, <em>paths=None</em>, <em>create_patch=False</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.diff.Diffable.diff" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates diffs between two items being trees, trees and index or an
+index and the working tree.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">other</span></tt></dt>
+<dd>Is the item to compare us with.
+If None, we will be compared to the working tree.
+If Treeish, it will be compared against the respective tree
+If Index ( type ), it will be compared against the index.
+It defaults to Index to assure the method will not by-default fail
+on bare repositories.</dd>
+<dt><tt class="docutils literal"><span class="pre">paths</span></tt></dt>
+<dd>is a list of paths or a single path to limit the diff to.
+It will only include at least one of the givne path or paths.</dd>
+<dt><tt class="docutils literal"><span class="pre">create_patch</span></tt></dt>
+<dd>If True, the returned Diff contains a detailed patch that if applied
+makes the self to other. Patches are somwhat costly as blobs have to be read
+and diffed.</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Additional arguments passed to git-diff, such as
+R=True to swap both sides of the diff.</dd>
+<dt>Returns</dt>
+<dd>git.DiffIndex</dd>
+<dt>Note</dt>
+<dd><p class="first">Rename detection will only work if create_patch is True.</p>
+<p class="last">On a bare repository, &#8216;other&#8217; needs to be provided as Index or as
+as Tree/Commit, or a git command error will occour</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-git.errors">
+<h2>Errors<a class="headerlink" href="#module-git.errors" title="Permalink to this headline">¶</a></h2>
+<p>Module containing all exceptions thrown througout the git package,</p>
+<dl class="exception">
+<dt id="git.errors.GitCommandError">
+<em class="property">exception </em><tt class="descclassname">git.errors.</tt><tt class="descname">GitCommandError</tt><big>(</big><em>command</em>, <em>status</em>, <em>stderr=None</em><big>)</big><a class="headerlink" href="#git.errors.GitCommandError" title="Permalink to this definition">¶</a></dt>
+<dd>Thrown if execution of the git command fails with non-zero status code.</dd></dl>
+
+<dl class="exception">
+<dt id="git.errors.InvalidGitRepositoryError">
+<em class="property">exception </em><tt class="descclassname">git.errors.</tt><tt class="descname">InvalidGitRepositoryError</tt><a class="headerlink" href="#git.errors.InvalidGitRepositoryError" title="Permalink to this definition">¶</a></dt>
+<dd>Thrown if the given repository appears to have an invalid format.</dd></dl>
+
+<dl class="exception">
+<dt id="git.errors.NoSuchPathError">
+<em class="property">exception </em><tt class="descclassname">git.errors.</tt><tt class="descname">NoSuchPathError</tt><a class="headerlink" href="#git.errors.NoSuchPathError" title="Permalink to this definition">¶</a></dt>
+<dd>Thrown if a path could not be access by the system.</dd></dl>
+
+</div>
+<div class="section" id="module-git.index">
+<h2>Index<a class="headerlink" href="#module-git.index" title="Permalink to this headline">¶</a></h2>
+<p>Module containing Index implementation, allowing to perform all kinds of index
+manipulations such as querying and merging.</p>
+<dl class="class">
+<dt id="git.index.BaseIndexEntry">
+<em class="property">class </em><tt class="descclassname">git.index.</tt><tt class="descname">BaseIndexEntry</tt><a class="headerlink" href="#git.index.BaseIndexEntry" title="Permalink to this definition">¶</a></dt>
+<dd><p>Small Brother of an index entry which can be created to describe changes
+done to the index in which case plenty of additional information is not requried.</p>
+<p>As the first 4 data members match exactly to the IndexEntry type, methods
+expecting a BaseIndexEntry can also handle full IndexEntries even if they
+use numeric indices for performance reasons.</p>
+<dl class="classmethod">
+<dt id="git.index.BaseIndexEntry.from_blob">
+<em class="property">classmethod </em><tt class="descname">from_blob</tt><big>(</big><em>blob</em>, <em>stage=0</em><big>)</big><a class="headerlink" href="#git.index.BaseIndexEntry.from_blob" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Fully equipped BaseIndexEntry at the given stage</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.BaseIndexEntry.mode">
+<tt class="descname">mode</tt><a class="headerlink" href="#git.index.BaseIndexEntry.mode" title="Permalink to this definition">¶</a></dt>
+<dd>File Mode, compatible to stat module constants</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.BaseIndexEntry.path">
+<tt class="descname">path</tt><a class="headerlink" href="#git.index.BaseIndexEntry.path" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.BaseIndexEntry.sha">
+<tt class="descname">sha</tt><a class="headerlink" href="#git.index.BaseIndexEntry.sha" title="Permalink to this definition">¶</a></dt>
+<dd>hex sha of the blob</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.BaseIndexEntry.stage">
+<tt class="descname">stage</tt><a class="headerlink" href="#git.index.BaseIndexEntry.stage" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Stage of the entry, either:</dt>
+<dd>0 = default stage
+1 = stage before a merge or common ancestor entry in case of a 3 way merge
+2 = stage of entries from the &#8216;left&#8217; side of the merge
+3 = stage of entries from the right side of the merge</dd>
+<dt>Note:</dt>
+<dd>For more information, see <a class="reference external" href="http://www.kernel.org/pub/software/scm/git/docs/git-read-tree.html">http://www.kernel.org/pub/software/scm/git/docs/git-read-tree.html</a></dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.index.BlobFilter">
+<em class="property">class </em><tt class="descclassname">git.index.</tt><tt class="descname">BlobFilter</tt><big>(</big><em>paths</em><big>)</big><a class="headerlink" href="#git.index.BlobFilter" title="Permalink to this definition">¶</a></dt>
+<dd><p>Predicate to be used by iter_blobs allowing to filter only return blobs which
+match the given list of directories or files.</p>
+<p>The given paths are given relative to the repository.</p>
+<dl class="attribute">
+<dt id="git.index.BlobFilter.paths">
+<tt class="descname">paths</tt><a class="headerlink" href="#git.index.BlobFilter.paths" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="exception">
+<dt id="git.index.CheckoutError">
+<em class="property">exception </em><tt class="descclassname">git.index.</tt><tt class="descname">CheckoutError</tt><big>(</big><em>message</em>, <em>failed_files</em>, <em>valid_files</em>, <em>failed_reasons</em><big>)</big><a class="headerlink" href="#git.index.CheckoutError" title="Permalink to this definition">¶</a></dt>
+<dd><p>Thrown if a file could not be checked out from the index as it contained
+changes.</p>
+<p>The .failed_files attribute contains a list of relative paths that failed
+to be checked out as they contained changes that did not exist in the index.</p>
+<p>The .failed_reasons attribute contains a string informing about the actual
+cause of the issue.</p>
+<p>The .valid_files attribute contains a list of relative paths to files that
+were checked out successfully and hence match the version stored in the
+index</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="git.index.IndexEntry">
+<em class="property">class </em><tt class="descclassname">git.index.</tt><tt class="descname">IndexEntry</tt><a class="headerlink" href="#git.index.IndexEntry" title="Permalink to this definition">¶</a></dt>
+<dd><p>Allows convenient access to IndexEntry data without completely unpacking it.</p>
+<p>Attributes usully accessed often are cached in the tuple whereas others are
+unpacked on demand.</p>
+<p>See the properties for a mapping between names and tuple indices.</p>
+<dl class="attribute">
+<dt id="git.index.IndexEntry.ctime">
+<tt class="descname">ctime</tt><a class="headerlink" href="#git.index.IndexEntry.ctime" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Tuple(int_time_seconds_since_epoch, int_nano_seconds) of the
+file&#8217;s creation time</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexEntry.dev">
+<tt class="descname">dev</tt><a class="headerlink" href="#git.index.IndexEntry.dev" title="Permalink to this definition">¶</a></dt>
+<dd>Device ID</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.index.IndexEntry.from_base">
+<em class="property">classmethod </em><tt class="descname">from_base</tt><big>(</big><em>base</em><big>)</big><a class="headerlink" href="#git.index.IndexEntry.from_base" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Minimal entry as created from the given BaseIndexEntry instance.
+Missing values will be set to null-like values</dd>
+<dt><tt class="docutils literal"><span class="pre">base</span></tt></dt>
+<dd>Instance of type BaseIndexEntry</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.index.IndexEntry.from_blob">
+<em class="property">classmethod </em><tt class="descname">from_blob</tt><big>(</big><em>blob</em><big>)</big><a class="headerlink" href="#git.index.IndexEntry.from_blob" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Minimal entry resembling the given blob objecft</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexEntry.gid">
+<tt class="descname">gid</tt><a class="headerlink" href="#git.index.IndexEntry.gid" title="Permalink to this definition">¶</a></dt>
+<dd>Group ID</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexEntry.inode">
+<tt class="descname">inode</tt><a class="headerlink" href="#git.index.IndexEntry.inode" title="Permalink to this definition">¶</a></dt>
+<dd>Inode ID</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexEntry.mtime">
+<tt class="descname">mtime</tt><a class="headerlink" href="#git.index.IndexEntry.mtime" title="Permalink to this definition">¶</a></dt>
+<dd>See ctime property, but returns modification time</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexEntry.size">
+<tt class="descname">size</tt><a class="headerlink" href="#git.index.IndexEntry.size" title="Permalink to this definition">¶</a></dt>
+<dd><p>Uncompressed size of the blob</p>
+<dl class="docutils">
+<dt>Note</dt>
+<dd>Will be 0 if the stage is not 0 ( hence it is an unmerged entry )</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexEntry.uid">
+<tt class="descname">uid</tt><a class="headerlink" href="#git.index.IndexEntry.uid" title="Permalink to this definition">¶</a></dt>
+<dd>User ID</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.index.IndexFile">
+<em class="property">class </em><tt class="descclassname">git.index.</tt><tt class="descname">IndexFile</tt><big>(</big><em>repo</em>, <em>file_path=None</em><big>)</big><a class="headerlink" href="#git.index.IndexFile" title="Permalink to this definition">¶</a></dt>
+<dd><p>Implements an Index that can be manipulated using a native implementation in
+order to save git command function calls wherever possible.</p>
+<p>It provides custom merging facilities allowing to merge without actually changing
+your index or your working tree. This way you can perform own test-merges based
+on the index only without having to deal with the working copy. This is useful
+in case of partial working trees.</p>
+<p><tt class="docutils literal"><span class="pre">Entries</span></tt>
+The index contains an entries dict whose keys are tuples of type IndexEntry
+to facilitate access.</p>
+<dl class="docutils">
+<dt>You may read the entries dict or manipulate it using IndexEntry instance, i.e.::</dt>
+<dd>index.entries[index.get_entries_key(index_entry_instance)] = index_entry_instance</dd>
+</dl>
+<p>Otherwise changes to it will be lost when changing the index using its methods.</p>
+<dl class="method">
+<dt id="git.index.IndexFile.add">
+<tt class="descname">add</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.add" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.checkout">
+<tt class="descname">checkout</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.checkout" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.commit">
+<tt class="descname">commit</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.commit" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.diff">
+<tt class="descname">diff</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.diff" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexFile.entries">
+<tt class="descname">entries</tt><a class="headerlink" href="#git.index.IndexFile.entries" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="classmethod">
+<dt id="git.index.IndexFile.from_tree">
+<em class="property">classmethod </em><tt class="descname">from_tree</tt><big>(</big><em>repo</em>, <em>*treeish</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.from_tree" title="Permalink to this definition">¶</a></dt>
+<dd><p>Merge the given treeish revisions into a new index which is returned.
+The original index will remain unaltered</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">repo</span></tt></dt>
+<dd>The repository treeish are located in.</dd>
+<dt><tt class="docutils literal"><span class="pre">*treeish</span></tt></dt>
+<dd><p class="first">One, two or three Tree Objects or Commits. The result changes according to the
+amount of trees.
+If 1 Tree is given, it will just be read into a new index
+If 2 Trees are given, they will be merged into a new index using a</p>
+<blockquote class="last">
+two way merge algorithm. Tree 1 is the &#8216;current&#8217; tree, tree 2 is the &#8216;other&#8217;
+one. It behaves like a fast-forward.
+If 3 Trees are given, a 3-way merge will be performed with the first tree
+being the common ancestor of tree 2 and tree 3. Tree 2 is the &#8216;current&#8217; tree,
+tree 3 is the &#8216;other&#8217; one</blockquote>
+</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional arguments passed to git-read-tree</dd>
+<dt>Returns</dt>
+<dd>New IndexFile instance. It will point to a temporary index location which
+does not exist anymore. If you intend to write such a merged Index, supply
+an alternate file_path to its &#8216;write&#8217; method.</dd>
+<dt>Note:</dt>
+<dd><p class="first">In the three-way merge case, &#8211;aggressive will be specified to automatically
+resolve more cases in a commonly correct manner. Specify trivial=True as kwarg
+to override that.</p>
+<p class="last">As the underlying git-read-tree command takes into account the current index,
+it will be temporarily moved out of the way to assure there are no unsuspected
+interferences.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.index.IndexFile.get_entries_key">
+<em class="property">classmethod </em><tt class="descname">get_entries_key</tt><big>(</big><em>*entry</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.get_entries_key" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Key suitable to be used for the index.entries dictionary</dd>
+<dt><tt class="docutils literal"><span class="pre">entry</span></tt></dt>
+<dd>One instance of type BaseIndexEntry or the path and the stage</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.iter_blobs">
+<tt class="descname">iter_blobs</tt><big>(</big><em>predicate=&lt;function &lt;lambda&gt; at 0x1e3ee60&gt;</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.iter_blobs" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Iterator yielding tuples of Blob objects and stages, tuple(stage, Blob)</dd>
+<dt><tt class="docutils literal"><span class="pre">predicate</span></tt></dt>
+<dd>Function(t) returning True if tuple(stage, Blob) should be yielded by the
+iterator. A default filter, the BlobFilter, allows you to yield blobs
+only if they match a given list of paths.</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.merge_tree">
+<tt class="descname">merge_tree</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.merge_tree" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.move">
+<tt class="descname">move</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.move" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexFile.path">
+<tt class="descname">path</tt><a class="headerlink" href="#git.index.IndexFile.path" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Path to the index file we are representing</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.remove">
+<tt class="descname">remove</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.remove" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexFile.repo">
+<tt class="descname">repo</tt><a class="headerlink" href="#git.index.IndexFile.repo" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.reset">
+<tt class="descname">reset</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.reset" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.resolve_blobs">
+<tt class="descname">resolve_blobs</tt><big>(</big><em>iter_blobs</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.resolve_blobs" title="Permalink to this definition">¶</a></dt>
+<dd><p>Resolve the blobs given in blob iterator. This will effectively remove the
+index entries of the respective path at all non-null stages and add the given
+blob as new stage null blob.</p>
+<p>For each path there may only be one blob, otherwise a ValueError will be raised
+claiming the path is already at stage 0.</p>
+<dl class="docutils">
+<dt>Raise</dt>
+<dd>ValueError if one of the blobs already existed at stage 0</dd>
+<dt>Returns:</dt>
+<dd>self</dd>
+<dt>Note</dt>
+<dd>You will have to write the index manually once you are done, i.e.
+index.resolve_blobs(blobs).write()</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.unmerged_blobs">
+<tt class="descname">unmerged_blobs</tt><big>(</big><big>)</big><a class="headerlink" href="#git.index.IndexFile.unmerged_blobs" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Iterator yielding dict(path : list( tuple( stage, Blob, ...))), being
+a dictionary associating a path in the index with a list containing
+sorted stage/blob pairs</dd>
+<dt>Note:</dt>
+<dd>Blobs that have been removed in one side simply do not exist in the
+given stage. I.e. a file removed on the &#8216;other&#8217; branch whose entries
+are at stage 3 will not have a stage 3 entry.</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.update">
+<tt class="descname">update</tt><big>(</big><big>)</big><a class="headerlink" href="#git.index.IndexFile.update" title="Permalink to this definition">¶</a></dt>
+<dd><p>Reread the contents of our index file, discarding all cached information
+we might have.</p>
+<dl class="docutils">
+<dt>Note:</dt>
+<dd>This is a possibly dangerious operations as it will discard your changes
+to index.entries</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.index.IndexFile.version">
+<tt class="descname">version</tt><a class="headerlink" href="#git.index.IndexFile.version" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.write">
+<tt class="descname">write</tt><big>(</big><em>file_path=None</em>, <em>ignore_tree_extension_data=False</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.write" title="Permalink to this definition">¶</a></dt>
+<dd><p>Write the current state to our file path or to the given one</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">file_path</span></tt></dt>
+<dd>If None, we will write to our stored file path from which we have
+been initialized. Otherwise we write to the given file path.
+Please note that this will change the file_path of this index to
+the one you gave.</dd>
+<dt><tt class="docutils literal"><span class="pre">ignore_tree_extension_data</span></tt></dt>
+<dd>If True, the TREE type extension data read in the index will not
+be written to disk. Use this if you have altered the index and
+would like to use git-write-tree afterwards to create a tree
+representing your written changes.
+If this data is present in the written index, git-write-tree
+will instead write the stored/cached tree.
+Alternatively, use IndexFile.write_tree() to handle this case
+automatically</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+<dt>Note</dt>
+<dd>Index writing based on the dulwich implementation</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.index.IndexFile.write_tree">
+<tt class="descname">write_tree</tt><big>(</big><em>missing_ok=False</em><big>)</big><a class="headerlink" href="#git.index.IndexFile.write_tree" title="Permalink to this definition">¶</a></dt>
+<dd><p>Writes the Index in self to a corresponding Tree file into the repository
+object database and returns it as corresponding Tree object.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">missing_ok</span></tt></dt>
+<dd>If True, missing objects referenced by this index will not result
+in an error.</dd>
+<dt>Returns</dt>
+<dd>Tree object representing this index</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="git.index.clear_cache">
+<tt class="descclassname">git.index.</tt><tt class="descname">clear_cache</tt><big>(</big><em>func</em><big>)</big><a class="headerlink" href="#git.index.clear_cache" title="Permalink to this definition">¶</a></dt>
+<dd><p>Decorator for functions that alter the index using the git command. This would
+invalidate our possibly existing entries dictionary which is why it must be
+deleted to allow it to be lazily reread later.</p>
+<dl class="docutils">
+<dt>Note</dt>
+<dd>This decorator will not be required once all functions are implemented
+natively which in fact is possible, but probably not feasible performance wise.</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="git.index.default_index">
+<tt class="descclassname">git.index.</tt><tt class="descname">default_index</tt><big>(</big><em>func</em><big>)</big><a class="headerlink" href="#git.index.default_index" title="Permalink to this definition">¶</a></dt>
+<dd>Decorator assuring the wrapped method may only run if we are the default
+repository index. This is as we rely on git commands that operate
+on that index only.</dd></dl>
+
+</div>
+<div class="section" id="module-git.refs">
+<h2>Refs<a class="headerlink" href="#module-git.refs" title="Permalink to this headline">¶</a></h2>
+<p>Module containing all ref based objects</p>
+<dl class="class">
+<dt id="git.refs.HEAD">
+<em class="property">class </em><tt class="descclassname">git.refs.</tt><tt class="descname">HEAD</tt><big>(</big><em>repo</em>, <em>path='HEAD'</em><big>)</big><a class="headerlink" href="#git.refs.HEAD" title="Permalink to this definition">¶</a></dt>
+<dd><p>Special case of a Symbolic Reference as it represents the repository&#8217;s
+HEAD reference.</p>
+<dl class="method">
+<dt id="git.refs.HEAD.reset">
+<tt class="descname">reset</tt><big>(</big><em>commit='HEAD'</em>, <em>index=True</em>, <em>working_tree=False</em>, <em>paths=None</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.refs.HEAD.reset" title="Permalink to this definition">¶</a></dt>
+<dd><p>Reset our HEAD to the given commit optionally synchronizing
+the index and working tree. The reference we refer to will be set to
+commit as well.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">commit</span></tt></dt>
+<dd>Commit object, Reference Object or string identifying a revision we
+should reset HEAD to.</dd>
+<dt><tt class="docutils literal"><span class="pre">index</span></tt></dt>
+<dd>If True, the index will be set to match the given commit. Otherwise
+it will not be touched.</dd>
+<dt><tt class="docutils literal"><span class="pre">working_tree</span></tt></dt>
+<dd>If True, the working tree will be forcefully adjusted to match the given
+commit, possibly overwriting uncommitted changes without warning.
+If working_tree is True, index must be true as well</dd>
+<dt><tt class="docutils literal"><span class="pre">paths</span></tt></dt>
+<dd>Single path or list of paths relative to the git root directory
+that are to be reset. This allow to partially reset individual files.</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Additional arguments passed to git-reset.</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.refs.Head">
+<em class="property">class </em><tt class="descclassname">git.refs.</tt><tt class="descname">Head</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.Head" title="Permalink to this definition">¶</a></dt>
+<dd><p>A Head is a named reference to a Commit. Every Head instance contains a name
+and a Commit object.</p>
+<p>Examples:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">repo</span> <span class="o">=</span> <span class="n">Repo</span><span class="p">(</span><span class="s">&quot;/path/to/repo&quot;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">head</span> <span class="o">=</span> <span class="n">repo</span><span class="o">.</span><span class="n">heads</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span>
+
+<span class="gp">&gt;&gt;&gt; </span><span class="n">head</span><span class="o">.</span><span class="n">name</span>
+<span class="go">&#39;master&#39;</span>
+
+<span class="gp">&gt;&gt;&gt; </span><span class="n">head</span><span class="o">.</span><span class="n">commit</span>
+<span class="go">&lt;git.Commit &quot;1c09f116cbc2cb4100fb6935bb162daa4723f455&quot;&gt;</span>
+
+<span class="gp">&gt;&gt;&gt; </span><span class="n">head</span><span class="o">.</span><span class="n">commit</span><span class="o">.</span><span class="n">sha</span>
+<span class="go">&#39;1c09f116cbc2cb4100fb6935bb162daa4723f455&#39;</span>
+</pre></div>
+</div>
+<dl class="method">
+<dt id="git.refs.Head.checkout">
+<tt class="descname">checkout</tt><big>(</big><em>force=False</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.refs.Head.checkout" title="Permalink to this definition">¶</a></dt>
+<dd><p>Checkout this head by setting the HEAD to this reference, by updating the index
+to reflect the tree we point to and by updating the working tree to reflect
+the latest index.</p>
+<p>The command will fail if changed working tree files would be overwritten.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>If True, changes to the index and the working tree will be discarded.
+If False, GitCommandError will be raised in that situation.</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional keyword arguments to be passed to git checkout, i.e.
+b=&#8217;new_branch&#8217; to create a new branch at the given spot.</dd>
+<dt>Returns</dt>
+<dd>The active branch after the checkout operation, usually self unless
+a new branch has been created.</dd>
+<dt>Note</dt>
+<dd>By default it is only allowed to checkout heads - everything else
+will leave the HEAD detached which is allowed and possible, but remains
+a special state that some tools might not be able to handle.</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.Head.create">
+<em class="property">classmethod </em><tt class="descname">create</tt><big>(</big><em>repo</em>, <em>path</em>, <em>commit='HEAD'</em>, <em>force=False</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.refs.Head.create" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new head.
+<tt class="docutils literal"><span class="pre">repo</span></tt></p>
+<blockquote>
+Repository to create the head in</blockquote>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>The name or path of the head, i.e. &#8216;new_branch&#8217; or
+feature/feature1. The prefix refs/heads is implied.</dd>
+<dt><tt class="docutils literal"><span class="pre">commit</span></tt></dt>
+<dd>Commit to which the new head should point, defaults to the
+current HEAD</dd>
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>if True, force creation even if branch with that name already exists.</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional keyword arguments to be passed to git-branch, i.e.
+track, no-track, l</dd>
+<dt>Returns</dt>
+<dd>Newly created Head</dd>
+<dt>Note</dt>
+<dd>This does not alter the current HEAD, index or Working Tree</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.Head.delete">
+<em class="property">classmethod </em><tt class="descname">delete</tt><big>(</big><em>repo</em>, <em>*heads</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.refs.Head.delete" title="Permalink to this definition">¶</a></dt>
+<dd><p>Delete the given heads</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>If True, the heads will be deleted even if they are not yet merged into
+the main development stream.
+Default False</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.refs.Head.rename">
+<tt class="descname">rename</tt><big>(</big><em>new_path</em>, <em>force=False</em><big>)</big><a class="headerlink" href="#git.refs.Head.rename" title="Permalink to this definition">¶</a></dt>
+<dd><p>Rename self to a new path</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">new_path</span></tt></dt>
+<dd>Either a simple name or a path, i.e. new_name or features/new_name.
+The prefix refs/heads is implied</dd>
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>If True, the rename will succeed even if a head with the target name
+already exists.</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+<dt>Note</dt>
+<dd>respects the ref log as git commands are used</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.refs.Reference">
+<em class="property">class </em><tt class="descclassname">git.refs.</tt><tt class="descname">Reference</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.Reference" title="Permalink to this definition">¶</a></dt>
+<dd><p>Represents a named reference to any object. Subclasses may apply restrictions though,
+i.e. Heads can only point to commits.</p>
+<dl class="classmethod">
+<dt id="git.refs.Reference.create">
+<em class="property">classmethod </em><tt class="descname">create</tt><big>(</big><em>repo</em>, <em>path</em>, <em>commit='HEAD'</em>, <em>force=False</em><big>)</big><a class="headerlink" href="#git.refs.Reference.create" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new reference.
+<tt class="docutils literal"><span class="pre">repo</span></tt></p>
+<blockquote>
+Repository to create the reference in</blockquote>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>The relative path of the reference, i.e. &#8216;new_branch&#8217; or
+feature/feature1. The path prefix &#8216;refs/&#8217; is implied if not
+given explicitly</dd>
+<dt><tt class="docutils literal"><span class="pre">commit</span></tt></dt>
+<dd>Commit to which the new reference should point, defaults to the
+current HEAD</dd>
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>if True, force creation even if a reference with that name already exists.
+Raise OSError otherwise</dd>
+<dt>Returns</dt>
+<dd>Newly created Reference</dd>
+<dt>Note</dt>
+<dd>This does not alter the current HEAD, index or Working Tree</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.Reference.iter_items">
+<em class="property">classmethod </em><tt class="descname">iter_items</tt><big>(</big><em>repo</em>, <em>common_path=None</em><big>)</big><a class="headerlink" href="#git.refs.Reference.iter_items" title="Permalink to this definition">¶</a></dt>
+<dd>Equivalent to SymbolicReference.iter_items, but will return non-detached
+references as well.</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.Reference.name">
+<tt class="descname">name</tt><a class="headerlink" href="#git.refs.Reference.name" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>(shortest) Name of this reference - it may contain path components</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.Reference.object">
+<tt class="descname">object</tt><a class="headerlink" href="#git.refs.Reference.object" title="Permalink to this definition">¶</a></dt>
+<dd>Return the object our ref currently refers to</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.refs.RemoteReference">
+<em class="property">class </em><tt class="descclassname">git.refs.</tt><tt class="descname">RemoteReference</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.RemoteReference" title="Permalink to this definition">¶</a></dt>
+<dd><p>Represents a reference pointing to a remote head.</p>
+<dl class="classmethod">
+<dt id="git.refs.RemoteReference.delete">
+<em class="property">classmethod </em><tt class="descname">delete</tt><big>(</big><em>repo</em>, <em>*refs</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.refs.RemoteReference.delete" title="Permalink to this definition">¶</a></dt>
+<dd><p>Delete the given remote references.</p>
+<dl class="docutils">
+<dt>Note</dt>
+<dd>kwargs are given for compatability with the base class method as we
+should not narrow the signature.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.RemoteReference.remote_head">
+<tt class="descname">remote_head</tt><a class="headerlink" href="#git.refs.RemoteReference.remote_head" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Name of the remote head itself, i.e. master.</dd>
+</dl>
+<p>NOTE: The returned name is usually not qualified enough to uniquely identify
+a branch</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.RemoteReference.remote_name">
+<tt class="descname">remote_name</tt><a class="headerlink" href="#git.refs.RemoteReference.remote_name" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Name of the remote we are a reference of, such as &#8216;origin&#8217; for a reference
+named &#8216;origin/master&#8217;</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.refs.SymbolicReference">
+<em class="property">class </em><tt class="descclassname">git.refs.</tt><tt class="descname">SymbolicReference</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference" title="Permalink to this definition">¶</a></dt>
+<dd><p>Represents a special case of a reference such that this reference is symbolic.
+It does not point to a specific commit, but to another Head, which itself
+specifies a commit.</p>
+<p>A typical example for a symbolic reference is HEAD.</p>
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.commit">
+<tt class="descname">commit</tt><a class="headerlink" href="#git.refs.SymbolicReference.commit" title="Permalink to this definition">¶</a></dt>
+<dd>Query or set commits directly</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.SymbolicReference.create">
+<em class="property">classmethod </em><tt class="descname">create</tt><big>(</big><em>repo</em>, <em>path</em>, <em>reference='HEAD'</em>, <em>force=False</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.create" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new symbolic reference, hence a reference pointing to another
+reference.
+<tt class="docutils literal"><span class="pre">repo</span></tt></p>
+<blockquote>
+Repository to create the reference in</blockquote>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>full path at which the new symbolic reference is supposed to be
+created at, i.e. &#8220;NEW_HEAD&#8221; or &#8220;symrefs/my_new_symref&#8221;</dd>
+<dt><tt class="docutils literal"><span class="pre">reference</span></tt></dt>
+<dd>The reference to which the new symbolic reference should point to</dd>
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>if True, force creation even if a symbolic reference with that name already exists.
+Raise OSError otherwise</dd>
+<dt>Returns</dt>
+<dd>Newly created symbolic Reference</dd>
+<dt>Raises OSError </dt>
+<dd>If a (Symbolic)Reference with the same name but different contents
+already exists.</dd>
+<dt>Note</dt>
+<dd>This does not alter the current HEAD, index or Working Tree</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.SymbolicReference.delete">
+<em class="property">classmethod </em><tt class="descname">delete</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.delete" title="Permalink to this definition">¶</a></dt>
+<dd><p>Delete the reference at the given path</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">repo</span></tt></dt>
+<dd>Repository to delete the reference from</dd>
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>Short or full path pointing to the reference, i.e. refs/myreference
+or just &#8220;myreference&#8221;, hence &#8216;refs/&#8217; is implied.
+Alternatively the symbolic reference to be deleted</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.SymbolicReference.from_path">
+<em class="property">classmethod </em><tt class="descname">from_path</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.from_path" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>Instance of type Reference, Head, or Tag
+depending on the given path</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.is_detached">
+<tt class="descname">is_detached</tt><a class="headerlink" href="#git.refs.SymbolicReference.is_detached" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>True if we are a detached reference, hence we point to a specific commit
+instead to another reference</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.refs.SymbolicReference.is_valid">
+<tt class="descname">is_valid</tt><big>(</big><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.is_valid" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>True if the reference is valid, hence it can be read and points to
+a valid object or reference.</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.SymbolicReference.iter_items">
+<em class="property">classmethod </em><tt class="descname">iter_items</tt><big>(</big><em>repo</em>, <em>common_path=None</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.iter_items" title="Permalink to this definition">¶</a></dt>
+<dd><p>Find all refs in the repository</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">repo</span></tt></dt>
+<dd>is the Repo</dd>
+<dt><tt class="docutils literal"><span class="pre">common_path</span></tt></dt>
+<dd>Optional keyword argument to the path which is to be shared by all
+returned Ref objects.
+Defaults to class specific portion if None assuring that only
+refs suitable for the actual class are returned.</dd>
+<dt>Returns</dt>
+<dd><p class="first">git.SymbolicReference[], each of them is guaranteed to be a symbolic
+ref which is not detached.</p>
+<p class="last">List is lexigraphically sorted
+The returned objects represent actual subclasses, such as Head or TagReference</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.name">
+<tt class="descname">name</tt><a class="headerlink" href="#git.refs.SymbolicReference.name" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>In case of symbolic references, the shortest assumable name
+is the path itself.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.path">
+<tt class="descname">path</tt><a class="headerlink" href="#git.refs.SymbolicReference.path" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.ref">
+<tt class="descname">ref</tt><a class="headerlink" href="#git.refs.SymbolicReference.ref" title="Permalink to this definition">¶</a></dt>
+<dd>Returns the Reference we point to</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.reference">
+<tt class="descname">reference</tt><a class="headerlink" href="#git.refs.SymbolicReference.reference" title="Permalink to this definition">¶</a></dt>
+<dd>Returns the Reference we point to</dd></dl>
+
+<dl class="method">
+<dt id="git.refs.SymbolicReference.rename">
+<tt class="descname">rename</tt><big>(</big><em>new_path</em>, <em>force=False</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.rename" title="Permalink to this definition">¶</a></dt>
+<dd><p>Rename self to a new path</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">new_path</span></tt></dt>
+<dd>Either a simple name or a full path, i.e. new_name or features/new_name.
+The prefix refs/ is implied for references and will be set as needed.
+In case this is a symbolic ref, there is no implied prefix</dd>
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>If True, the rename will succeed even if a head with the target name
+already exists. It will be overwritten in that case</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+<dt>Raises OSError:</dt>
+<dd>In case a file at path but a different contents already exists</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.SymbolicReference.repo">
+<tt class="descname">repo</tt><a class="headerlink" href="#git.refs.SymbolicReference.repo" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.SymbolicReference.to_full_path">
+<em class="property">classmethod </em><tt class="descname">to_full_path</tt><big>(</big><em>path</em><big>)</big><a class="headerlink" href="#git.refs.SymbolicReference.to_full_path" title="Permalink to this definition">¶</a></dt>
+<dd><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">Returns:</th><td class="field-body">string with a full path name which can be used to initialize</td>
+</tr>
+</tbody>
+</table>
+<p>a Reference instance, for instance by using <tt class="docutils literal"><span class="pre">Reference.from_path</span></tt></p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.Tag">
+<tt class="descclassname">git.refs.</tt><tt class="descname">Tag</tt><a class="headerlink" href="#git.refs.Tag" title="Permalink to this definition">¶</a></dt>
+<dd>alias of <a title="git.refs.TagReference" class="reference internal" href="#git.refs.TagReference"><tt class="xref docutils literal"><span class="pre">TagReference</span></tt></a></dd></dl>
+
+<dl class="class">
+<dt id="git.refs.TagReference">
+<em class="property">class </em><tt class="descclassname">git.refs.</tt><tt class="descname">TagReference</tt><big>(</big><em>repo</em>, <em>path</em><big>)</big><a class="headerlink" href="#git.refs.TagReference" title="Permalink to this definition">¶</a></dt>
+<dd><p>Class representing a lightweight tag reference which either points to a commit
+,a tag object or any other object. In the latter case additional information,
+like the signature or the tag-creator, is available.</p>
+<p>This tag object will always point to a commit object, but may carray additional
+information in a tag object:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">tagref</span> <span class="o">=</span> <span class="n">TagReference</span><span class="o">.</span><span class="n">list_items</span><span class="p">(</span><span class="n">repo</span><span class="p">)[</span><span class="mf">0</span><span class="p">]</span>
+<span class="k">print</span> <span class="n">tagref</span><span class="o">.</span><span class="n">commit</span><span class="o">.</span><span class="n">message</span>
+<span class="k">if</span> <span class="n">tagref</span><span class="o">.</span><span class="n">tag</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
+ <span class="k">print</span> <span class="n">tagref</span><span class="o">.</span><span class="n">tag</span><span class="o">.</span><span class="n">message</span>
+</pre></div>
+</div>
+<dl class="attribute">
+<dt id="git.refs.TagReference.commit">
+<tt class="descname">commit</tt><a class="headerlink" href="#git.refs.TagReference.commit" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Commit object the tag ref points to</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.TagReference.create">
+<em class="property">classmethod </em><tt class="descname">create</tt><big>(</big><em>repo</em>, <em>path</em>, <em>ref='HEAD'</em>, <em>message=None</em>, <em>force=False</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.refs.TagReference.create" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new tag reference.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>The name of the tag, i.e. 1.0 or releases/1.0.
+The prefix refs/tags is implied</dd>
+<dt><tt class="docutils literal"><span class="pre">ref</span></tt></dt>
+<dd>A reference to the object you want to tag. It can be a commit, tree or
+blob.</dd>
+<dt><tt class="docutils literal"><span class="pre">message</span></tt></dt>
+<dd><p class="first">If not None, the message will be used in your tag object. This will also
+create an additional tag object that allows to obtain that information, i.e.:</p>
+<div class="last highlight-python"><div class="highlight"><pre><span class="n">tagref</span><span class="o">.</span><span class="n">tag</span><span class="o">.</span><span class="n">message</span>
+</pre></div>
+</div>
+</dd>
+<dt><tt class="docutils literal"><span class="pre">force</span></tt></dt>
+<dd>If True, to force creation of a tag even though that tag already exists.</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional keyword arguments to be passed to git-tag</dd>
+<dt>Returns</dt>
+<dd>A new TagReference</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.refs.TagReference.delete">
+<em class="property">classmethod </em><tt class="descname">delete</tt><big>(</big><em>repo</em>, <em>*tags</em><big>)</big><a class="headerlink" href="#git.refs.TagReference.delete" title="Permalink to this definition">¶</a></dt>
+<dd>Delete the given existing tag or tags</dd></dl>
+
+<dl class="attribute">
+<dt id="git.refs.TagReference.tag">
+<tt class="descname">tag</tt><a class="headerlink" href="#git.refs.TagReference.tag" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Tag object this tag ref points to or None in case
+we are a light weight tag</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-git.remote">
+<h2>Remote<a class="headerlink" href="#module-git.remote" title="Permalink to this headline">¶</a></h2>
+<p>Module implementing a remote object allowing easy access to git remotes</p>
+<dl class="class">
+<dt id="git.remote.FetchInfo">
+<em class="property">class </em><tt class="descclassname">git.remote.</tt><tt class="descname">FetchInfo</tt><big>(</big><em>ref</em>, <em>flags</em>, <em>note=''</em>, <em>old_commit=None</em><big>)</big><a class="headerlink" href="#git.remote.FetchInfo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Carries information about the results of a fetch operation of a single head:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">info</span> <span class="o">=</span> <span class="n">remote</span><span class="o">.</span><span class="n">fetch</span><span class="p">()[</span><span class="mf">0</span><span class="p">]</span>
+<span class="n">info</span><span class="o">.</span><span class="n">ref</span> <span class="c"># Symbolic Reference or RemoteReference to the changed </span>
+ <span class="c"># remote head or FETCH_HEAD</span>
+<span class="n">info</span><span class="o">.</span><span class="n">flags</span> <span class="c"># additional flags to be &amp; with enumeration members, </span>
+ <span class="c"># i.e. info.flags &amp; info.REJECTED </span>
+ <span class="c"># is 0 if ref is SymbolicReference</span>
+<span class="n">info</span><span class="o">.</span><span class="n">note</span> <span class="c"># additional notes given by git-fetch intended for the user</span>
+<span class="n">info</span><span class="o">.</span><span class="n">old_commit</span> <span class="c"># if info.flags &amp; info.FORCED_UPDATE|info.FAST_FORWARD, </span>
+ <span class="c"># field is set to the previous location of ref, otherwise None</span>
+</pre></div>
+</div>
+<dl class="attribute">
+<dt id="git.remote.FetchInfo.commit">
+<tt class="descname">commit</tt><a class="headerlink" href="#git.remote.FetchInfo.commit" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Commit of our remote ref</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.FetchInfo.flags">
+<tt class="descname">flags</tt><a class="headerlink" href="#git.remote.FetchInfo.flags" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.FetchInfo.name">
+<tt class="descname">name</tt><a class="headerlink" href="#git.remote.FetchInfo.name" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Name of our remote ref</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.FetchInfo.note">
+<tt class="descname">note</tt><a class="headerlink" href="#git.remote.FetchInfo.note" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.FetchInfo.old_commit">
+<tt class="descname">old_commit</tt><a class="headerlink" href="#git.remote.FetchInfo.old_commit" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.FetchInfo.ref">
+<tt class="descname">ref</tt><a class="headerlink" href="#git.remote.FetchInfo.ref" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.remote.PushInfo">
+<em class="property">class </em><tt class="descclassname">git.remote.</tt><tt class="descname">PushInfo</tt><big>(</big><em>flags</em>, <em>local_ref</em>, <em>remote_ref_string</em>, <em>remote</em>, <em>old_commit=None</em>, <em>summary=''</em><big>)</big><a class="headerlink" href="#git.remote.PushInfo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Carries information about the result of a push operation of a single head:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">info</span> <span class="o">=</span> <span class="n">remote</span><span class="o">.</span><span class="n">push</span><span class="p">()[</span><span class="mf">0</span><span class="p">]</span>
+<span class="n">info</span><span class="o">.</span><span class="n">flags</span> <span class="c"># bitflags providing more information about the result</span>
+<span class="n">info</span><span class="o">.</span><span class="n">local_ref</span> <span class="c"># Reference pointing to the local reference that was pushed</span>
+ <span class="c"># It is None if the ref was deleted.</span>
+<span class="n">info</span><span class="o">.</span><span class="n">remote_ref_string</span> <span class="c"># path to the remote reference located on the remote side</span>
+<span class="n">info</span><span class="o">.</span><span class="n">remote_ref</span> <span class="c"># Remote Reference on the local side corresponding to </span>
+ <span class="c"># the remote_ref_string. It can be a TagReference as well.</span>
+<span class="n">info</span><span class="o">.</span><span class="n">old_commit</span> <span class="c"># commit at which the remote_ref was standing before we pushed</span>
+ <span class="c"># it to local_ref.commit. Will be None if an error was indicated</span>
+<span class="n">info</span><span class="o">.</span><span class="n">summary</span> <span class="c"># summary line providing human readable english text about the push</span>
+</pre></div>
+</div>
+<dl class="attribute">
+<dt id="git.remote.PushInfo.flags">
+<tt class="descname">flags</tt><a class="headerlink" href="#git.remote.PushInfo.flags" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.PushInfo.local_ref">
+<tt class="descname">local_ref</tt><a class="headerlink" href="#git.remote.PushInfo.local_ref" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.PushInfo.old_commit">
+<tt class="descname">old_commit</tt><a class="headerlink" href="#git.remote.PushInfo.old_commit" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.PushInfo.remote_ref">
+<tt class="descname">remote_ref</tt><a class="headerlink" href="#git.remote.PushInfo.remote_ref" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Remote Reference or TagReference in the local repository corresponding
+to the remote_ref_string kept in this instance.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.PushInfo.remote_ref_string">
+<tt class="descname">remote_ref_string</tt><a class="headerlink" href="#git.remote.PushInfo.remote_ref_string" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.PushInfo.summary">
+<tt class="descname">summary</tt><a class="headerlink" href="#git.remote.PushInfo.summary" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.remote.Remote">
+<em class="property">class </em><tt class="descclassname">git.remote.</tt><tt class="descname">Remote</tt><big>(</big><em>repo</em>, <em>name</em><big>)</big><a class="headerlink" href="#git.remote.Remote" title="Permalink to this definition">¶</a></dt>
+<dd><p>Provides easy read and write access to a git remote.</p>
+<p>Everything not part of this interface is considered an option for the current
+remote, allowing constructs like remote.pushurl to query the pushurl.</p>
+<p>NOTE: When querying configuration, the configuration accessor will be cached
+to speed up subsequent accesses.</p>
+<dl class="classmethod">
+<dt id="git.remote.Remote.add">
+<em class="property">classmethod </em><tt class="descname">add</tt><big>(</big><em>repo</em>, <em>name</em>, <em>url</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.remote.Remote.add" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new remote to the given repository
+<tt class="docutils literal"><span class="pre">repo</span></tt></p>
+<blockquote>
+Repository instance that is to receive the new remote</blockquote>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">name</span></tt></dt>
+<dd>Desired name of the remote</dd>
+<dt><tt class="docutils literal"><span class="pre">url</span></tt></dt>
+<dd>URL which corresponds to the remote&#8217;s name</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional arguments to be passed to the git-remote add command</dd>
+<dt>Returns</dt>
+<dd>New Remote instance</dd>
+<dt>Raise</dt>
+<dd>GitCommandError in case an origin with that name already exists</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.Remote.config_reader">
+<tt class="descname">config_reader</tt><a class="headerlink" href="#git.remote.Remote.config_reader" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>GitConfigParser compatible object able to read options for only our remote.
+Hence you may simple type config.get(&#8220;pushurl&#8221;) to obtain the information</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.Remote.config_writer">
+<tt class="descname">config_writer</tt><a class="headerlink" href="#git.remote.Remote.config_writer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>GitConfigParser compatible object able to write options for this remote.</dd>
+<dt>Note</dt>
+<dd><p class="first">You can only own one writer at a time - delete it to release the
+configuration file and make it useable by others.</p>
+<p class="last">To assure consistent results, you should only query options through the
+writer. Once you are done writing, you are free to use the config reader
+once again.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.remote.Remote.create">
+<em class="property">classmethod </em><tt class="descname">create</tt><big>(</big><em>repo</em>, <em>name</em>, <em>url</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.remote.Remote.create" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new remote to the given repository
+<tt class="docutils literal"><span class="pre">repo</span></tt></p>
+<blockquote>
+Repository instance that is to receive the new remote</blockquote>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">name</span></tt></dt>
+<dd>Desired name of the remote</dd>
+<dt><tt class="docutils literal"><span class="pre">url</span></tt></dt>
+<dd>URL which corresponds to the remote&#8217;s name</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional arguments to be passed to the git-remote add command</dd>
+<dt>Returns</dt>
+<dd>New Remote instance</dd>
+<dt>Raise</dt>
+<dd>GitCommandError in case an origin with that name already exists</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.remote.Remote.fetch">
+<tt class="descname">fetch</tt><big>(</big><em>refspec=None</em>, <em>progress=None</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.remote.Remote.fetch" title="Permalink to this definition">¶</a></dt>
+<dd><p>Fetch the latest changes for this remote</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">refspec</span></tt></dt>
+<dd><p class="first">A &#8220;refspec&#8221; is used by fetch and push to describe the mapping
+between remote ref and local ref. They are combined with a colon in
+the format &lt;src&gt;:&lt;dst&gt;, preceded by an optional plus sign, +.
+For example: git fetch $URL refs/heads/master:refs/heads/origin means
+&#8220;grab the master branch head from the $URL and store it as my origin
+branch head&#8221;. And git push $URL refs/heads/master:refs/heads/to-upstream
+means &#8220;publish my master branch head as to-upstream branch at $URL&#8221;.
+See also git-push(1).</p>
+<p class="last">Taken from the git manual</p>
+</dd>
+<dt><tt class="docutils literal"><span class="pre">progress</span></tt></dt>
+<dd>See &#8216;push&#8217; method</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional arguments to be passed to git-fetch</dd>
+<dt>Returns</dt>
+<dd>IterableList(FetchInfo, ...) list of FetchInfo instances providing detailed
+information about the fetch results</dd>
+<dt>Note</dt>
+<dd>As fetch does not provide progress information to non-ttys, we cannot make
+it available here unfortunately as in the &#8216;push&#8217; method.</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.remote.Remote.iter_items">
+<em class="property">classmethod </em><tt class="descname">iter_items</tt><big>(</big><em>repo</em><big>)</big><a class="headerlink" href="#git.remote.Remote.iter_items" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Iterator yielding Remote objects of the given repository</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.Remote.name">
+<tt class="descname">name</tt><a class="headerlink" href="#git.remote.Remote.name" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.remote.Remote.pull">
+<tt class="descname">pull</tt><big>(</big><em>refspec=None</em>, <em>progress=None</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.remote.Remote.pull" title="Permalink to this definition">¶</a></dt>
+<dd><p>Pull changes from the given branch, being the same as a fetch followed
+by a merge of branch with your local branch.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">refspec</span></tt></dt>
+<dd>see &#8216;fetch&#8217; method</dd>
+<dt><tt class="docutils literal"><span class="pre">progress</span></tt></dt>
+<dd>see &#8216;push&#8217; method</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional arguments to be passed to git-pull</dd>
+<dt>Returns</dt>
+<dd>Please see &#8216;fetch&#8217; method</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.remote.Remote.push">
+<tt class="descname">push</tt><big>(</big><em>refspec=None</em>, <em>progress=None</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.remote.Remote.push" title="Permalink to this definition">¶</a></dt>
+<dd><p>Push changes from source branch in refspec to target branch in refspec.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">refspec</span></tt></dt>
+<dd>see &#8216;fetch&#8217; method</dd>
+<dt><tt class="docutils literal"><span class="pre">progress</span></tt></dt>
+<dd>Instance of type RemoteProgress allowing the caller to receive
+progress information until the method returns.
+If None, progress information will be discarded</dd>
+<dt><tt class="docutils literal"><span class="pre">**kwargs</span></tt></dt>
+<dd>Additional arguments to be passed to git-push</dd>
+<dt>Returns</dt>
+<dd>IterableList(PushInfo, ...) iterable list of PushInfo instances, each
+one informing about an individual head which had been updated on the remote
+side.
+If the push contains rejected heads, these will have the PushInfo.ERROR bit set
+in their flags.
+If the operation fails completely, the length of the returned IterableList will
+be null.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.Remote.refs">
+<tt class="descname">refs</tt><a class="headerlink" href="#git.remote.Remote.refs" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd><p class="first">IterableList of RemoteReference objects. It is prefixed, allowing
+you to omit the remote path portion, i.e.:</p>
+<div class="last highlight-python"><div class="highlight"><pre><span class="n">remote</span><span class="o">.</span><span class="n">refs</span><span class="o">.</span><span class="n">master</span> <span class="c"># yields RemoteReference(&#39;/refs/remotes/origin/master&#39;)</span>
+</pre></div>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.remote.Remote.remove">
+<em class="property">classmethod </em><tt class="descname">remove</tt><big>(</big><em>repo</em>, <em>name</em><big>)</big><a class="headerlink" href="#git.remote.Remote.remove" title="Permalink to this definition">¶</a></dt>
+<dd>Remove the remote with the given name</dd></dl>
+
+<dl class="method">
+<dt id="git.remote.Remote.rename">
+<tt class="descname">rename</tt><big>(</big><em>new_name</em><big>)</big><a class="headerlink" href="#git.remote.Remote.rename" title="Permalink to this definition">¶</a></dt>
+<dd><p>Rename self to the given new_name</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.Remote.repo">
+<tt class="descname">repo</tt><a class="headerlink" href="#git.remote.Remote.repo" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="classmethod">
+<dt id="git.remote.Remote.rm">
+<em class="property">classmethod </em><tt class="descname">rm</tt><big>(</big><em>repo</em>, <em>name</em><big>)</big><a class="headerlink" href="#git.remote.Remote.rm" title="Permalink to this definition">¶</a></dt>
+<dd>Remove the remote with the given name</dd></dl>
+
+<dl class="attribute">
+<dt id="git.remote.Remote.stale_refs">
+<tt class="descname">stale_refs</tt><a class="headerlink" href="#git.remote.Remote.stale_refs" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns </dt>
+<dd><p class="first">IterableList RemoteReference objects that do not have a corresponding
+head in the remote reference anymore as they have been deleted on the
+remote side, but are still available locally.</p>
+<p class="last">The IterableList is prefixed, hence the &#8216;origin&#8217; must be omitted. See
+&#8216;refs&#8217; property for an example.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.remote.Remote.update">
+<tt class="descname">update</tt><big>(</big><em>**kwargs</em><big>)</big><a class="headerlink" href="#git.remote.Remote.update" title="Permalink to this definition">¶</a></dt>
+<dd><p>Fetch all changes for this remote, including new branches which will
+be forced in ( in case your local remote branch is not part the new remote branches
+ancestry anymore ).</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Additional arguments passed to git-remote update</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.remote.RemoteProgress">
+<em class="property">class </em><tt class="descclassname">git.remote.</tt><tt class="descname">RemoteProgress</tt><a class="headerlink" href="#git.remote.RemoteProgress" title="Permalink to this definition">¶</a></dt>
+<dd><p>Handler providing an interface to parse progress information emitted by git-push
+and git-fetch and to dispatch callbacks allowing subclasses to react to the progress.</p>
+<dl class="method">
+<dt id="git.remote.RemoteProgress.line_dropped">
+<tt class="descname">line_dropped</tt><big>(</big><em>line</em><big>)</big><a class="headerlink" href="#git.remote.RemoteProgress.line_dropped" title="Permalink to this definition">¶</a></dt>
+<dd>Called whenever a line could not be understood and was therefore dropped.</dd></dl>
+
+<dl class="method">
+<dt id="git.remote.RemoteProgress.update">
+<tt class="descname">update</tt><big>(</big><em>op_code</em>, <em>cur_count</em>, <em>max_count=None</em>, <em>message=''</em><big>)</big><a class="headerlink" href="#git.remote.RemoteProgress.update" title="Permalink to this definition">¶</a></dt>
+<dd><p>Called whenever the progress changes</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">op_code</span></tt></dt>
+<dd><p class="first">Integer allowing to be compared against Operation IDs and stage IDs.</p>
+<p>Stage IDs are BEGIN and END. BEGIN will only be set once for each Operation
+ID as well as END. It may be that BEGIN and END are set at once in case only
+one progress message was emitted due to the speed of the operation.
+Between BEGIN and END, none of these flags will be set</p>
+<p class="last">Operation IDs are all held within the OP_MASK. Only one Operation ID will
+be active per call.</p>
+</dd>
+<dt><tt class="docutils literal"><span class="pre">cur_count</span></tt></dt>
+<dd>Current absolute count of items</dd>
+<dt><tt class="docutils literal"><span class="pre">max_count</span></tt></dt>
+<dd>The maximum count of items we expect. It may be None in case there is
+no maximum number of items or if it is (yet) unknown.</dd>
+<dt><tt class="docutils literal"><span class="pre">message</span></tt></dt>
+<dd>In case of the &#8216;WRITING&#8217; operation, it contains the amount of bytes
+transferred. It may possibly be used for other purposes as well.</dd>
+</dl>
+<p>You may read the contents of the current line in self._cur_line</p>
+</dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-git.repo">
+<h2>Repo<a class="headerlink" href="#module-git.repo" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.repo.Repo">
+<em class="property">class </em><tt class="descclassname">git.repo.</tt><tt class="descname">Repo</tt><big>(</big><em>path=None</em><big>)</big><a class="headerlink" href="#git.repo.Repo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Represents a git repository and allows you to query references,
+gather commit information, generate diffs, create and clone repositories query
+the log.</p>
+<p>The following attributes are worth using:</p>
+<p>&#8216;working_dir&#8217; is the working directory of the git command, wich is the working tree
+directory if available or the .git directory in case of bare repositories</p>
+<p>&#8216;working_tree_dir&#8217; is the working tree directory, but will raise AssertionError
+if we are a bare repository.</p>
+<p>&#8216;git_dir&#8217; is the .git repository directoy, which is always set.</p>
+<dl class="attribute">
+<dt id="git.repo.Repo.active_branch">
+<tt class="descname">active_branch</tt><a class="headerlink" href="#git.repo.Repo.active_branch" title="Permalink to this definition">¶</a></dt>
+<dd><p>The name of the currently active branch.</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>Head to the active branch</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.alternates">
+<tt class="descname">alternates</tt><a class="headerlink" href="#git.repo.Repo.alternates" title="Permalink to this definition">¶</a></dt>
+<dd>Retrieve a list of alternates paths or set a list paths to be used as alternates</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.archive">
+<tt class="descname">archive</tt><big>(</big><em>ostream</em>, <em>treeish=None</em>, <em>prefix=None</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.archive" title="Permalink to this definition">¶</a></dt>
+<dd><p>Archive the tree at the given revision.
+<tt class="docutils literal"><span class="pre">ostream</span></tt></p>
+<blockquote>
+file compatible stream object to which the archive will be written</blockquote>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">treeish</span></tt></dt>
+<dd>is the treeish name/id, defaults to active branch</dd>
+<dt><tt class="docutils literal"><span class="pre">prefix</span></tt></dt>
+<dd>is the optional prefix to prepend to each filename in the archive</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Additional arguments passed to git-archive
+NOTE: Use the &#8216;format&#8217; argument to define the kind of format. Use
+specialized ostreams to write any format supported by python</dd>
+</dl>
+<p>Examples:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">repo</span><span class="o">.</span><span class="n">archive</span><span class="p">(</span><span class="nb">open</span><span class="p">(</span><span class="s">&quot;archive&quot;</span><span class="p">))</span>
+<span class="go">&lt;String containing tar.gz archive&gt;</span>
+</pre></div>
+</div>
+<dl class="docutils">
+<dt>Raise</dt>
+<dd>GitCommandError in case something went wrong</dd>
+<dt>Returns</dt>
+<dd>self</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.bare">
+<tt class="descname">bare</tt><a class="headerlink" href="#git.repo.Repo.bare" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>True if the repository is bare</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.blame">
+<tt class="descname">blame</tt><big>(</big><em>rev</em>, <em>file</em><big>)</big><a class="headerlink" href="#git.repo.Repo.blame" title="Permalink to this definition">¶</a></dt>
+<dd><p>The blame information for the given file at the given revision.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">rev</span></tt></dt>
+<dd>revision specifier, see git-rev-parse for viable options.</dd>
+<dt>Returns</dt>
+<dd>list: [git.Commit, list: [&lt;line&gt;]]
+A list of tuples associating a Commit object with a list of lines that
+changed within the given commit. The Commit objects will be given in order
+of appearance.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.branches">
+<tt class="descname">branches</tt><a class="headerlink" href="#git.repo.Repo.branches" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of <tt class="docutils literal"><span class="pre">Head</span></tt> objects representing the branch heads in
+this repo</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.IterableList(Head,</span> <span class="pre">...)</span></tt></dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.clone">
+<tt class="descname">clone</tt><big>(</big><em>path</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.clone" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a clone from this repository.</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>is the full path of the new repo (traditionally ends with ./&lt;name&gt;.git).</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>keyword arguments to be given to the git-clone command</dd>
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.Repo</span></tt> (the newly cloned repo)</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.commit">
+<tt class="descname">commit</tt><big>(</big><em>rev=None</em><big>)</big><a class="headerlink" href="#git.repo.Repo.commit" title="Permalink to this definition">¶</a></dt>
+<dd><p>The Commit object for the specified revision</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">rev</span></tt></dt>
+<dd>revision specifier, see git-rev-parse for viable options.</dd>
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.Commit</span></tt></dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.config_reader">
+<tt class="descname">config_reader</tt><big>(</big><em>config_level=None</em><big>)</big><a class="headerlink" href="#git.repo.Repo.config_reader" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd><p class="first">GitConfigParser allowing to read the full git configuration, but not to write it</p>
+<p>The configuration will include values from the system, user and repository
+configuration files.</p>
+<p class="last">NOTE: On windows, system configuration cannot currently be read as the path is
+unknown, instead the global path will be used.</p>
+</dd>
+<dt><tt class="docutils literal"><span class="pre">config_level</span></tt></dt>
+<dd>For possible values, see config_writer method
+If None, all applicable levels will be used. Specify a level in case
+you know which exact file you whish to read to prevent reading multiple files for
+instance</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.config_writer">
+<tt class="descname">config_writer</tt><big>(</big><em>config_level='repository'</em><big>)</big><a class="headerlink" href="#git.repo.Repo.config_writer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>GitConfigParser allowing to write values of the specified configuration file level.
+Config writers should be retrieved, used to change the configuration ,and written
+right away as they will lock the configuration file in question and prevent other&#8217;s
+to write it.</dd>
+<dt><tt class="docutils literal"><span class="pre">config_level</span></tt></dt>
+<dd>One of the following values
+system = sytem wide configuration file
+global = user level configuration file
+repository = configuration file for this repostory only</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.create_head">
+<tt class="descname">create_head</tt><big>(</big><em>path</em>, <em>commit='HEAD'</em>, <em>force=False</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.create_head" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new head within the repository.</p>
+<p>For more documentation, please see the Head.create method.</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>newly created Head Reference</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.create_remote">
+<tt class="descname">create_remote</tt><big>(</big><em>name</em>, <em>url</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.create_remote" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new remote.</p>
+<p>For more information, please see the documentation of the Remote.create
+methods</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>Remote reference</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.create_tag">
+<tt class="descname">create_tag</tt><big>(</big><em>path</em>, <em>ref='HEAD'</em>, <em>message=None</em>, <em>force=False</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.create_tag" title="Permalink to this definition">¶</a></dt>
+<dd><p>Create a new tag reference.</p>
+<p>For more documentation, please see the TagReference.create method.</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>TagReference object</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.daemon_export">
+<tt class="descname">daemon_export</tt><a class="headerlink" href="#git.repo.Repo.daemon_export" title="Permalink to this definition">¶</a></dt>
+<dd>If True, git-daemon may export this repository</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.delete_head">
+<tt class="descname">delete_head</tt><big>(</big><em>*heads</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.delete_head" title="Permalink to this definition">¶</a></dt>
+<dd><p>Delete the given heads</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Additional keyword arguments to be passed to git-branch</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.delete_remote">
+<tt class="descname">delete_remote</tt><big>(</big><em>remote</em><big>)</big><a class="headerlink" href="#git.repo.Repo.delete_remote" title="Permalink to this definition">¶</a></dt>
+<dd>Delete the given remote.</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.delete_tag">
+<tt class="descname">delete_tag</tt><big>(</big><em>*tags</em><big>)</big><a class="headerlink" href="#git.repo.Repo.delete_tag" title="Permalink to this definition">¶</a></dt>
+<dd>Delete the given tag references</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.description">
+<tt class="descname">description</tt><a class="headerlink" href="#git.repo.Repo.description" title="Permalink to this definition">¶</a></dt>
+<dd>the project&#8217;s description</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.git">
+<tt class="descname">git</tt><a class="headerlink" href="#git.repo.Repo.git" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.git_dir">
+<tt class="descname">git_dir</tt><a class="headerlink" href="#git.repo.Repo.git_dir" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.head">
+<tt class="descname">head</tt><a class="headerlink" href="#git.repo.Repo.head" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>HEAD Object pointing to the current head reference</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.heads">
+<tt class="descname">heads</tt><a class="headerlink" href="#git.repo.Repo.heads" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of <tt class="docutils literal"><span class="pre">Head</span></tt> objects representing the branch heads in
+this repo</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.IterableList(Head,</span> <span class="pre">...)</span></tt></dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.index">
+<tt class="descname">index</tt><a class="headerlink" href="#git.repo.Repo.index" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>IndexFile representing this repository&#8217;s index.</dd>
+</dl>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.repo.Repo.init">
+<em class="property">classmethod </em><tt class="descname">init</tt><big>(</big><em>path=None</em>, <em>mkdir=True</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.init" title="Permalink to this definition">¶</a></dt>
+<dd><p>Initialize a git repository at the given path if specified</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>is the full path to the repo (traditionally ends with /&lt;name&gt;.git)
+or None in which case the repository will be created in the current
+working directory</dd>
+<dt><tt class="docutils literal"><span class="pre">mkdir</span></tt></dt>
+<dd>if specified will create the repository directory if it doesn&#8217;t
+already exists. Creates the directory with a mode=0755.
+Only effective if a path is explicitly given</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>keyword arguments serving as additional options to the git-init command</dd>
+</dl>
+<p>Examples:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">git</span><span class="o">.</span><span class="n">Repo</span><span class="o">.</span><span class="n">init</span><span class="p">(</span><span class="s">&#39;/var/git/myrepo.git&#39;</span><span class="p">,</span><span class="n">bare</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
+</pre></div>
+</div>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.Repo</span></tt> (the newly created repo)</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.is_dirty">
+<tt class="descname">is_dirty</tt><big>(</big><em>index=True</em>, <em>working_tree=True</em>, <em>untracked_files=False</em><big>)</big><a class="headerlink" href="#git.repo.Repo.is_dirty" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="xref docutils literal"><span class="pre">True</span></tt>, the repository is considered dirty. By default it will react
+like a git-status without untracked files, hence it is dirty if the
+index or the working copy have changes.</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.iter_commits">
+<tt class="descname">iter_commits</tt><big>(</big><em>rev=None</em>, <em>paths=''</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.iter_commits" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of Commit objects representing the history of a given ref/commit</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">rev</span></tt></dt>
+<dd><blockquote class="first">
+revision specifier, see git-rev-parse for viable options.
+If None, the active branch will be used.</blockquote>
+<dl class="last docutils">
+<dt><tt class="docutils literal"><span class="pre">paths</span></tt></dt>
+<dd>is an optional path or a list of paths to limit the returned commits to
+Commits that do not contain that path or the paths will not be returned.</dd>
+<dt><tt class="docutils literal"><span class="pre">kwargs</span></tt></dt>
+<dd>Arguments to be passed to git-rev-list - common ones are
+max_count and skip</dd>
+</dl>
+</dd>
+</dl>
+<p>Note: to receive only commits between two named revisions, use the
+&#8220;revA..revB&#8221; revision specifier</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.Commit[]</span></tt></dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.iter_trees">
+<tt class="descname">iter_trees</tt><big>(</big><em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.repo.Repo.iter_trees" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>Iterator yielding Tree objects</dd>
+</dl>
+<p>Note: Takes all arguments known to iter_commits method</p>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.references">
+<tt class="descname">references</tt><a class="headerlink" href="#git.repo.Repo.references" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of Reference objects representing tags, heads and remote references.</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>IterableList(Reference, ...)</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.refs">
+<tt class="descname">refs</tt><a class="headerlink" href="#git.repo.Repo.refs" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of Reference objects representing tags, heads and remote references.</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd>IterableList(Reference, ...)</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.remote">
+<tt class="descname">remote</tt><big>(</big><em>name='origin'</em><big>)</big><a class="headerlink" href="#git.repo.Repo.remote" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>Remote with the specified name</dd>
+<dt>Raise </dt>
+<dd>ValueError if no remote with such a name exists</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.remotes">
+<tt class="descname">remotes</tt><a class="headerlink" href="#git.repo.Repo.remotes" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of Remote objects allowing to access and manipulate remotes</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.IterableList(Remote,</span> <span class="pre">...)</span></tt></dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.tag">
+<tt class="descname">tag</tt><big>(</big><em>path</em><big>)</big><a class="headerlink" href="#git.repo.Repo.tag" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Return</dt>
+<dd>TagReference Object, reference pointing to a Commit or Tag</dd>
+<dt><tt class="docutils literal"><span class="pre">path</span></tt></dt>
+<dd>path to the tag reference, i.e. 0.1.5 or tags/0.1.5</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.tags">
+<tt class="descname">tags</tt><a class="headerlink" href="#git.repo.Repo.tags" title="Permalink to this definition">¶</a></dt>
+<dd><p>A list of <tt class="docutils literal"><span class="pre">Tag</span></tt> objects that are available in this repo</p>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.IterableList(TagReference,</span> <span class="pre">...)</span></tt></dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="git.repo.Repo.tree">
+<tt class="descname">tree</tt><big>(</big><em>rev=None</em><big>)</big><a class="headerlink" href="#git.repo.Repo.tree" title="Permalink to this definition">¶</a></dt>
+<dd><p>The Tree object for the given treeish revision</p>
+<dl class="docutils">
+<dt><tt class="docutils literal"><span class="pre">rev</span></tt></dt>
+<dd>is a revision pointing to a Treeish ( being a commit or tree )</dd>
+</dl>
+<p>Examples:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">repo</span><span class="o">.</span><span class="n">tree</span><span class="p">(</span><span class="n">repo</span><span class="o">.</span><span class="n">heads</span><span class="p">[</span><span class="mf">0</span><span class="p">])</span>
+</pre></div>
+</div>
+<dl class="docutils">
+<dt>Returns</dt>
+<dd><tt class="docutils literal"><span class="pre">git.Tree</span></tt></dd>
+<dt>NOTE</dt>
+<dd>If you need a non-root level tree, find it by iterating the root tree. Otherwise
+it cannot know about its path relative to the repository root and subsequent
+operations might have unexpected results.</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.untracked_files">
+<tt class="descname">untracked_files</tt><a class="headerlink" href="#git.repo.Repo.untracked_files" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd><p class="first">list(str,...)</p>
+<p class="last">Files currently untracked as they have not been staged yet. Paths
+are relative to the current working directory of the git command.</p>
+</dd>
+<dt>Note</dt>
+<dd>ignored files will not appear here, i.e. files mentioned in .gitignore</dd>
+</dl>
+</dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.working_dir">
+<tt class="descname">working_dir</tt><a class="headerlink" href="#git.repo.Repo.working_dir" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.repo.Repo.working_tree_dir">
+<tt class="descname">working_tree_dir</tt><a class="headerlink" href="#git.repo.Repo.working_tree_dir" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Returns</dt>
+<dd>The working tree directory of our git repository</dd>
+<dt>Raises AssertionError</dt>
+<dd>If we are a bare repository</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="git.repo.is_git_dir">
+<tt class="descclassname">git.repo.</tt><tt class="descname">is_git_dir</tt><big>(</big><em>d</em><big>)</big><a class="headerlink" href="#git.repo.is_git_dir" title="Permalink to this definition">¶</a></dt>
+<dd>This is taken from the git setup.c:is_git_directory
+function.</dd></dl>
+
+<dl class="function">
+<dt id="git.repo.touch">
+<tt class="descclassname">git.repo.</tt><tt class="descname">touch</tt><big>(</big><em>filename</em><big>)</big><a class="headerlink" href="#git.repo.touch" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</div>
+<div class="section" id="module-git.stats">
+<h2>Stats<a class="headerlink" href="#module-git.stats" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.stats.Stats">
+<em class="property">class </em><tt class="descclassname">git.stats.</tt><tt class="descname">Stats</tt><big>(</big><em>total</em>, <em>files</em><big>)</big><a class="headerlink" href="#git.stats.Stats" title="Permalink to this definition">¶</a></dt>
+<dd><p>Represents stat information as presented by git at the end of a merge. It is
+created from the output of a diff operation.</p>
+<p><tt class="docutils literal"><span class="pre">Example</span></tt>:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">c</span> <span class="o">=</span> <span class="n">Commit</span><span class="p">(</span> <span class="n">sha1</span> <span class="p">)</span>
+<span class="n">s</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">stats</span>
+<span class="n">s</span><span class="o">.</span><span class="n">total</span> <span class="c"># full-stat-dict</span>
+<span class="n">s</span><span class="o">.</span><span class="n">files</span> <span class="c"># dict( filepath : stat-dict )</span>
+</pre></div>
+</div>
+<p><tt class="docutils literal"><span class="pre">stat-dict</span></tt></p>
+<p>A dictionary with the following keys and values:</p>
+<div class="highlight-python"><pre>deletions = number of deleted lines as int
+insertions = number of inserted lines as int
+lines = total number of lines changed as int, or deletions + insertions</pre>
+</div>
+<p><tt class="docutils literal"><span class="pre">full-stat-dict</span></tt></p>
+<p>In addition to the items in the stat-dict, it features additional information:</p>
+<div class="highlight-python"><pre>files = number of changed files as int</pre>
+</div>
+<dl class="attribute">
+<dt id="git.stats.Stats.files">
+<tt class="descname">files</tt><a class="headerlink" href="#git.stats.Stats.files" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.stats.Stats.total">
+<tt class="descname">total</tt><a class="headerlink" href="#git.stats.Stats.total" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+</div>
+<div class="section" id="module-git.utils">
+<h2>Utils<a class="headerlink" href="#module-git.utils" title="Permalink to this headline">¶</a></h2>
+<dl class="class">
+<dt id="git.utils.BlockingLockFile">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">BlockingLockFile</tt><big>(</big><em>file_path</em>, <em>check_interval_s=0.29999999999999999</em>, <em>max_block_time_s=9223372036854775807</em><big>)</big><a class="headerlink" href="#git.utils.BlockingLockFile" title="Permalink to this definition">¶</a></dt>
+<dd>The lock file will block until a lock could be obtained, or fail after
+a specified timeout</dd></dl>
+
+<dl class="class">
+<dt id="git.utils.ConcurrentWriteOperation">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">ConcurrentWriteOperation</tt><big>(</big><em>file_path</em><big>)</big><a class="headerlink" href="#git.utils.ConcurrentWriteOperation" title="Permalink to this definition">¶</a></dt>
+<dd><p>This class facilitates a safe write operation to a file on disk such that we:</p>
+<blockquote>
+<ul class="simple">
+<li>lock the original file</li>
+<li>write to a temporary file</li>
+<li>rename temporary file back to the original one on close</li>
+<li>unlock the original file</li>
+</ul>
+</blockquote>
+<p>This type handles error correctly in that it will assure a consistent state
+on destruction</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="git.utils.Iterable">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">Iterable</tt><a class="headerlink" href="#git.utils.Iterable" title="Permalink to this definition">¶</a></dt>
+<dd><p>Defines an interface for iterable items which is to assure a uniform
+way to retrieve and iterate items within the git repository</p>
+<dl class="classmethod">
+<dt id="git.utils.Iterable.iter_items">
+<em class="property">classmethod </em><tt class="descname">iter_items</tt><big>(</big><em>repo</em>, <em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.utils.Iterable.iter_items" title="Permalink to this definition">¶</a></dt>
+<dd><p>For more information about the arguments, see list_items
+Return:</p>
+<blockquote>
+iterator yielding Items</blockquote>
+</dd></dl>
+
+<dl class="classmethod">
+<dt id="git.utils.Iterable.list_items">
+<em class="property">classmethod </em><tt class="descname">list_items</tt><big>(</big><em>repo</em>, <em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#git.utils.Iterable.list_items" title="Permalink to this definition">¶</a></dt>
+<dd><p>Find all items of this type - subclasses can specify args and kwargs differently.
+If no args are given, subclasses are obliged to return all items if no additional
+arguments arg given.</p>
+<p>Note: Favor the iter_items method as it will</p>
+<dl class="docutils">
+<dt>Returns:</dt>
+<dd>list(Item,...) list of item instances</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="class">
+<dt id="git.utils.IterableList">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">IterableList</tt><big>(</big><em>id_attr</em>, <em>prefix=''</em><big>)</big><a class="headerlink" href="#git.utils.IterableList" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of iterable objects allowing to query an object by id or by named index:</p>
+<div class="highlight-python"><div class="highlight"><pre><span class="n">heads</span> <span class="o">=</span> <span class="n">repo</span><span class="o">.</span><span class="n">heads</span>
+<span class="n">heads</span><span class="o">.</span><span class="n">master</span>
+<span class="n">heads</span><span class="p">[</span><span class="s">&#39;master&#39;</span><span class="p">]</span>
+<span class="n">heads</span><span class="p">[</span><span class="mf">0</span><span class="p">]</span>
+</pre></div>
+</div>
+<p>It requires an id_attribute name to be set which will be queried from its
+contained items to have a means for comparison.</p>
+<p>A prefix can be specified which is to be used in case the id returned by the
+items always contains a prefix that does not matter to the user, so it
+can be left out.</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="git.utils.LazyMixin">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">LazyMixin</tt><a class="headerlink" href="#git.utils.LazyMixin" title="Permalink to this definition">¶</a></dt>
+<dd>Base class providing an interface to lazily retrieve attribute values upon
+first access. If slots are used, memory will only be reserved once the attribute
+is actually accessed and retrieved the first time. All future accesses will
+return the cached value as stored in the Instance&#8217;s dict or slot.</dd></dl>
+
+<dl class="class">
+<dt id="git.utils.LockFile">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">LockFile</tt><big>(</big><em>file_path</em><big>)</big><a class="headerlink" href="#git.utils.LockFile" title="Permalink to this definition">¶</a></dt>
+<dd><p>Provides methods to obtain, check for, and release a file based lock which
+should be used to handle concurrent access to the same file.</p>
+<p>As we are a utility class to be derived from, we only use protected methods.</p>
+<p>Locks will automatically be released on destruction</p>
+</dd></dl>
+
+<dl class="class">
+<dt id="git.utils.SHA1Writer">
+<em class="property">class </em><tt class="descclassname">git.utils.</tt><tt class="descname">SHA1Writer</tt><big>(</big><em>f</em><big>)</big><a class="headerlink" href="#git.utils.SHA1Writer" title="Permalink to this definition">¶</a></dt>
+<dd><p>Wrapper around a file-like object that remembers the SHA1 of
+the data written to it. It will write a sha when the stream is closed
+or if the asked for explicitly usign write_sha.</p>
+<dl class="docutils">
+<dt>Note:</dt>
+<dd>Based on the dulwich project</dd>
+</dl>
+<dl class="method">
+<dt id="git.utils.SHA1Writer.close">
+<tt class="descname">close</tt><big>(</big><big>)</big><a class="headerlink" href="#git.utils.SHA1Writer.close" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.utils.SHA1Writer.f">
+<tt class="descname">f</tt><a class="headerlink" href="#git.utils.SHA1Writer.f" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="attribute">
+<dt id="git.utils.SHA1Writer.sha1">
+<tt class="descname">sha1</tt><a class="headerlink" href="#git.utils.SHA1Writer.sha1" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.utils.SHA1Writer.tell">
+<tt class="descname">tell</tt><big>(</big><big>)</big><a class="headerlink" href="#git.utils.SHA1Writer.tell" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.utils.SHA1Writer.write">
+<tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="headerlink" href="#git.utils.SHA1Writer.write" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="method">
+<dt id="git.utils.SHA1Writer.write_sha">
+<tt class="descname">write_sha</tt><big>(</big><big>)</big><a class="headerlink" href="#git.utils.SHA1Writer.write_sha" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+</dd></dl>
+
+<dl class="function">
+<dt id="git.utils.join_path">
+<tt class="descclassname">git.utils.</tt><tt class="descname">join_path</tt><big>(</big><em>a</em>, <em>*p</em><big>)</big><a class="headerlink" href="#git.utils.join_path" title="Permalink to this definition">¶</a></dt>
+<dd>Join path tokens together similar to os.path.join, but always use
+&#8216;/&#8217; instead of possibly &#8216;&#8217; on windows.</dd></dl>
+
+<dl class="function">
+<dt id="git.utils.join_path_native">
+<tt class="descclassname">git.utils.</tt><tt class="descname">join_path_native</tt><big>(</big><em>a</em>, <em>*p</em><big>)</big><a class="headerlink" href="#git.utils.join_path_native" title="Permalink to this definition">¶</a></dt>
+<dd>As join path, but makes sure an OS native path is returned. This is only
+needed to play it safe on my dear windows and to assure nice paths that only
+use &#8216;&#8217;</dd></dl>
+
+<dl class="function">
+<dt id="git.utils.make_sha">
+<tt class="descclassname">git.utils.</tt><tt class="descname">make_sha</tt><big>(</big><em>source=''</em><big>)</big><a class="headerlink" href="#git.utils.make_sha" title="Permalink to this definition">¶</a></dt>
+<dd><p>A python2.4 workaround for the sha/hashlib module fiasco</p>
+<dl class="docutils">
+<dt>Note</dt>
+<dd>From the dulwich project</dd>
+</dl>
+</dd></dl>
+
+<dl class="function">
+<dt id="git.utils.to_native_path">
+<tt class="descclassname">git.utils.</tt><tt class="descname">to_native_path</tt><big>(</big><em>path</em><big>)</big><a class="headerlink" href="#git.utils.to_native_path" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="git.utils.to_native_path_linux">
+<tt class="descclassname">git.utils.</tt><tt class="descname">to_native_path_linux</tt><big>(</big><em>path</em><big>)</big><a class="headerlink" href="#git.utils.to_native_path_linux" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
+<dl class="function">
+<dt id="git.utils.to_native_path_windows">
+<tt class="descclassname">git.utils.</tt><tt class="descname">to_native_path_windows</tt><big>(</big><em>path</em><big>)</big><a class="headerlink" href="#git.utils.to_native_path_windows" title="Permalink to this definition">¶</a></dt>
+<dd></dd></dl>
+
</div>
</div>
@@ -109,23 +2818,23 @@
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference external" href="#">API Reference</a><ul>
-<li><a class="reference external" href="#actor">Actor</a></li>
-<li><a class="reference external" href="#objects-base">Objects.Base</a></li>
-<li><a class="reference external" href="#objects-blob">Objects.Blob</a></li>
-<li><a class="reference external" href="#objects-commit">Objects.Commit</a></li>
-<li><a class="reference external" href="#objects-tag">Objects.Tag</a></li>
-<li><a class="reference external" href="#objects-tree">Objects.Tree</a></li>
-<li><a class="reference external" href="#objects-utils">Objects.Utils</a></li>
-<li><a class="reference external" href="#gitcmd">GitCmd</a></li>
-<li><a class="reference external" href="#config">Config</a></li>
-<li><a class="reference external" href="#diff">Diff</a></li>
-<li><a class="reference external" href="#errors">Errors</a></li>
-<li><a class="reference external" href="#index">Index</a></li>
-<li><a class="reference external" href="#refs">Refs</a></li>
-<li><a class="reference external" href="#remote">Remote</a></li>
-<li><a class="reference external" href="#repo">Repo</a></li>
-<li><a class="reference external" href="#stats">Stats</a></li>
-<li><a class="reference external" href="#utils">Utils</a></li>
+<li><a class="reference external" href="#module-git.actor">Actor</a></li>
+<li><a class="reference external" href="#module-git.objects.base">Objects.Base</a></li>
+<li><a class="reference external" href="#module-git.objects.blob">Objects.Blob</a></li>
+<li><a class="reference external" href="#module-git.objects.commit">Objects.Commit</a></li>
+<li><a class="reference external" href="#module-git.objects.tag">Objects.Tag</a></li>
+<li><a class="reference external" href="#module-git.objects.tree">Objects.Tree</a></li>
+<li><a class="reference external" href="#module-git.objects.utils">Objects.Utils</a></li>
+<li><a class="reference external" href="#module-git.cmd">GitCmd</a></li>
+<li><a class="reference external" href="#module-git.config">Config</a></li>
+<li><a class="reference external" href="#module-git.diff">Diff</a></li>
+<li><a class="reference external" href="#module-git.errors">Errors</a></li>
+<li><a class="reference external" href="#module-git.index">Index</a></li>
+<li><a class="reference external" href="#module-git.refs">Refs</a></li>
+<li><a class="reference external" href="#module-git.remote">Remote</a></li>
+<li><a class="reference external" href="#module-git.repo">Repo</a></li>
+<li><a class="reference external" href="#module-git.stats">Stats</a></li>
+<li><a class="reference external" href="#module-git.utils">Utils</a></li>
</ul>
</li>
</ul>
@@ -165,6 +2874,9 @@
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
+ <li class="right" >
<a href="roadmap.html" title="Roadmap"
>next</a> |</li>
<li class="right" >
diff --git a/doc/doc_index/0.2/roadmap.html b/doc/doc_index/0.2/roadmap.html
index c98de752..19e7be61 100644
--- a/doc/doc_index/0.2/roadmap.html
+++ b/doc/doc_index/0.2/roadmap.html
@@ -30,6 +30,9 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
+ <li class="right" >
<a href="reference.html" title="API Reference"
accesskey="P">previous</a> |</li>
<li><a href="index.html">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
@@ -84,6 +87,9 @@
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
+ <li class="right" >
<a href="reference.html" title="API Reference"
>previous</a> |</li>
<li><a href="index.html">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
diff --git a/doc/doc_index/0.2/search.html b/doc/doc_index/0.2/search.html
index 76a76483..3806aa16 100644
--- a/doc/doc_index/0.2/search.html
+++ b/doc/doc_index/0.2/search.html
@@ -29,6 +29,9 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
+ <li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
<li><a href="index.html">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
</ul>
</div>
@@ -77,6 +80,9 @@
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
+ <li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
<li><a href="index.html">GitPython v0.2.0 Beta documentation</a> &raquo;</li>
</ul>
</div>
diff --git a/doc/doc_index/0.2/searchindex.js b/doc/doc_index/0.2/searchindex.js
index 29e22d67..3fc6a3b6 100644
--- a/doc/doc_index/0.2/searchindex.js
+++ b/doc/doc_index/0.2/searchindex.js
@@ -1 +1 @@
-Search.setIndex({desctypes:{},terms:{all:3,code:[0,1],chain:3,queri:3,concept:1,abil:3,follow:[1,3],content:3,graph:3,readabl:3,gitpthon:1,init:3,tracker:[0,1],skip:3,new_repo:3,sourc:[0,1],string:3,fals:3,util:[0,2],whether:3,implicitli:3,subprocess:3,brows:1,level:3,michael:[1,3],iter:3,item:3,adjust:3,dir:3,prevent:3,htc:3,direct:3,my_new_branch:3,second:3,design:1,iter_commit:3,pass:3,download:1,port:1,even:[0,3],index:[0,1,2,3],what:3,sub:3,compar:3,mainlin:1,section:[1,3],access:3,delet:3,version:1,"new":[1,3],method:3,"6825a94104164d9f0f5632607bebd2a32a3579e5":3,full:4,hash:3,iteritem:3,gener:3,lighthouseapp:[1,4],sophist:3,here:[1,3],let:3,path:3,safer:3,becom:3,modifi:[0,3],sinc:3,valu:3,search:0,convers:3,brutal:3,headcommit:3,dummy_repo:3,behav:3,other_url:3,chang:3,configur:3,modul:[0,3],unix:3,api:[0,1,2],instal:[0,1],unit:3,hexadecim:3,from:[1,3],stream:3,lighthous:4,distinct:3,two:3,next:3,few:3,call:3,handl:[0,3],type:3,more:[0,1,3],abspath:3,under:1,line:1,flag:3,gitcmd:[0,2],examin:[0,3],unpack:3,origin:3,none:3,retriev:3,gitpython:[0,1,3,4],alia:3,setup:1,work:3,uniqu:3,histori:3,new_nam:3,archiv:3,can:[1,3,4],root:3,fetch:3,tar:3,indic:[0,3],max_count:3,high:3,tag:[0,2,3],want:3,alwai:3,multipl:3,anoth:3,write:3,how:3,pure:3,subdirectori:3,instead:3,simpl:3,chri:1,clone:[1,3],a95eeb2a7082212c197cabbf2539185ec74ed0e8:3,trier:3,date:3,associ:4,"short":3,essenti:3,correspond:3,foord:1,issu:[0,1],inform:[0,1,3],"switch":[0,3],allow:3,"3594e94c04db171e2767224db355f514b13715c5":3,"94954abda49de8615a048f8d2e64b5de848e27a1":3,hcommit:3,through:[1,3],pointer:3,mtrier:3,group:1,binari:3,fix:3,delete_head:3,mail:[0,1],might:3,them:3,"return":3,thei:3,python:[1,3],initi:[0,3],mention:3,delete_remot:3,data_stream:3,introduct:3,name:3,anyth:3,config:[0,2,3],wdiff:3,easili:[1,3],a91c45eee0b41bf3cdaad3418ca3850664c4a4b4:3,mode:3,each:3,found:[1,3,4],list:[0,1,3,4],individu:3,beyond:1,special:3,shown:3,accomplish:3,hct:3,miss:3,pyhton:3,reader:3,ref:[0,2,3],ancestri:3,tagref:3,manipul:3,committ:3,ineffici:3,base:[0,2,3],put:3,org:1,"byte":3,afterward:3,my_stream:3,filter:3,thing:3,place:3,diffindex:3,licens:[0,1],first:3,oper:3,directli:[0,3],carri:3,onc:3,number:3,mai:3,done:[1,3],overwrit:3,open:3,size:3,given:3,silent:3,script:1,data:3,interact:1,system:[1,3],messag:3,master:3,tom:1,conveni:3,"final":3,option:3,copi:3,setuptool:1,specifi:3,"var":3,github:1,delete_tag:3,grew:1,create_remot:3,new_origin:3,keyword:3,provid:[1,3],remov:3,tree:[0,2,3],charact:3,project:[1,3,4],str:3,were:3,merged_index:3,sai:3,preston:1,ani:3,packag:1,have:3,tabl:0,need:3,f7eb5df2e465ab621b1db3f5714850d6732cfed2:3,lib:3,my_new_fil:3,destroi:3,note:3,also:3,without:3,take:3,which:[1,3],e79b05161e4836e5fbf197aeb52515753e8d6ab6:3,channel:3,config_read:3,though:3,object:[0,2,3],create_head:3,test_remot:3,stream_data:3,bsd:1,new_tag:3,renam:3,url:3,clean:3,usual:3,notion:3,cheapli:3,some_branch:3,syntax:3,find:3,involv:3,current:3,onli:3,existing_fil:3,explain:3,writer:3,activ:3,than:3,suppos:3,local:3,new_commit:3,variou:3,get:[0,1,3],pypi:1,repo:[0,1,2,3],requir:[0,1],organ:1,diffabl:3,yield:3,sha:3,common:3,contain:3,where:3,set:3,commandlin:3,diff_ad:3,byron:1,roadmap:[0,4],see:1,bare:3,result:3,gmail:3,mileston:[1,4],my_tag:3,databas:3,written:3,between:3,"import":3,approach:3,a006b5b1a8115185a228b7514cdcd46fed90dc92:3,attribut:3,altern:1,storabl:3,parent:3,blame:3,len:3,addit:3,howev:1,against:3,foreign:3,tutori:[0,1,3],improv:1,c1c7214dde86f76bc3e18806ac1f47c38b2b7a30:3,com:[1,3,4],strftime:3,load:3,asctim:3,point:3,overview:[0,1],iter_blob:3,walk:1,werner:1,linux:3,diff:[0,2,3],assum:1,do_someth:3,"0x7f6598bd65a8":3,addition:3,compos:3,empti:3,basic:[1,3],life:3,tmp_index:3,rubi:1,convert:3,argument:3,untrack:3,understand:[0,3],standard:3,"case":3,look:3,abov:3,error:[0,2],"207c0c4418115df0d30820ab1a9acd2ea4bf4431":3,itself:3,revis:3,develop:3,author:3,perform:1,untracked_fil:3,same:3,epock:3,epoch:3,instanc:3,document:0,exhaust:1,http:[1,4],effect:3,remot:[0,2,3],temporari:3,user:3,usecas:3,freeli:3,parlanc:3,travers:3,task:4,config_writ:3,entri:3,well:3,know:3,exampl:3,command:[1,3],thi:[1,3],filesystem:3,model:3,spend:1,latest:[1,3],identifi:3,just:1,less:3,when:3,obtain:[0,3],human:3,wed:3,except:3,add:[1,3],blob:[0,2,3],working_tre:3,match:3,real:3,grit:1,format:3,read:3,sha1:3,for_each_ref:3,recurs:3,like:3,specif:3,manual:3,server:3,nose:1,output:3,page:[0,3],drop:3,some:1,heritag:1,byronimo:[1,4],librari:1,distribut:1,subclass:3,new_branch:3,refer:[0,1,2,3],encourag:1,previou:3,run:1,uncompress:3,gmtime:3,step:3,repositori:[1,3],immut:3,stage:3,about:[1,3],actual:3,would:3,iter_change_typ:3,commit:[0,2,3],produc:3,is_dirti:3,own:3,easy_instal:1,three:3,been:3,wrap:3,your:[1,3],merg:3,other_branch:3,git:[0,1,3],log:3,wai:3,"long":3,avail:1,start:[0,1],"563413aedbeda425d8d9dcbb744247d0c3e8a0ac":3,includ:4,lot:3,a871e79d59cf8488cac4af0c8f990b7a989e2b53:3,pushurl:3,"function":[1,3],indexfil:3,head:3,form:3,tupl:3,translat:3,newer:1,eas:3,"true":3,reset:3,pull:3,made:3,"default":3,checkout:3,record:3,my_untracked_fil:3,similar:3,creat:[1,3],create_tag:3,tdiff:3,repres:3,exist:3,file:[1,3],check:3,merge_index:3,probabl:3,committed_d:3,cloned_repo:3,googl:1,tip:3,gitori:1,actor:[0,2,3],field:3,other:3,do_something_with:3,branch:[0,3],test:[1,3],you:[1,3],mock:1,stat:[0,2,3],symbol:3,idiff:3,from_tre:3,authored_d:3,directori:3,depth:3,time:[1,3],push:3,escap:3,wanstrath:1},titles:["GitPython Documentation","Overview / Install","API Reference","GitPython Tutorial","Roadmap"],modules:{},descrefs:{},filenames:["index","intro","reference","tutorial","roadmap"]}) \ No newline at end of file
+Search.setIndex({desctypes:{"0":"method","1":"class","2":"classmethod","3":"attribute","4":"function","5":"exception"},terms:{scm:2,breadth:2,all:[2,3],code:[0,1,2],change_typ:2,edg:2,chain:3,maximum:2,skip:[2,3],consum:2,ctime:2,prefix:2,concept:1,subclass:[2,3],join_path_n:2,follow:[1,2,3],disk:2,whose:2,instanc:[2,3],depend:2,graph:3,readabl:[2,3],specif:[2,3],gitpthon:1,init:[2,3],program:2,swap:2,istream:2,under:1,transform_kwarg:2,indexentri:2,spec:2,yiel:2,b_path:2,sourc:[0,1,2],everi:2,string:[2,3],fals:[2,3],constructor:2,account:2,mime_typ:2,util:[0,2],feasibl:2,upstream:2,veri:2,join:2,implicitli:3,a91c45eee0b41bf3cdaad3418ca3850664c4a4b4:3,brows:1,unalt:2,cat_file_head:2,dulwich:2,whish:2,level:[2,3],did:2,dif:2,cmd:2,michael:[1,3],brother:2,iter:[2,3],item:[2,3],adjust:[2,3],stderr:2,small:2,refer:[0,1,2,3],dir:3,dict:2,pleas:2,prevent:[2,3],impli:2,htc:3,abil:3,direct:[2,3],sign:2,second:[2,3],cost:2,design:1,iter_commit:[2,3],pass:[2,3],download:1,histori:[2,3],as_process:2,port:1,input:2,compat:2,index:[0,1,2,3],tagrefer:2,hide:2,lazili:2,compar:[2,3],mainlin:1,resembl:2,section:[1,3],autointerrupt:2,abl:2,uniform:2,current:[2,3],delet:[2,3],hous:2,version:[1,2],destin:2,"new":[1,2,3],method:[2,3],"6825a94104164d9f0f5632607bebd2a32a3579e5":3,carrai:2,afterward:[2,3],full:[2,4],hash:3,deriv:2,iteritem:3,getcwd:2,gener:[2,3],like:[2,3],lighthouseapp:[1,4],sophist:3,here:[1,2,3],explicitli:2,modif:2,tagged_d:2,path:[2,3],safer:3,do_someth:3,modifi:[0,2,3],sinc:[2,3],valu:[2,3],wait:2,convert:[2,3],purpos:2,convers:3,involv:[2,3],anymor:2,popen:2,brutal:3,headcommit:3,dummy_repo:3,amount:2,tagobject:2,behav:[2,3],"_all_":2,other_url:3,implement:2,narrow:2,commonli:2,max_block_time_:2,with_except:2,symbolicrefer:2,repositori:[1,2,3],new_fil:2,modul:[0,2,3],submodul:2,from_bas:2,filenam:2,unix:3,api:[0,1,2],instal:[0,1],fetch_head:2,unit:3,aggress:2,hexadecim:3,from:[1,2,3],describ:2,would:[2,3],commun:2,iter_change_typ:[2,3],until:2,two:[2,3],objecft:2,occour:2,few:[2,3],handler:2,call:[2,3],failed_fil:2,criteria:2,taken:2,scope:2,type:[2,3],forcefulli:2,get_object_data:2,more:[0,1,2,3],reachabl:2,int_seconds_since_epoch:2,desir:2,useabl:2,src:2,share:2,abspath:[2,3],line:[1,2],warn:2,flag:[2,3],from_path:2,gitcmd:[0,2],examin:[0,2,3],known:2,hold:2,unpack:[2,3],cach:2,origin:[2,3],must:2,none:[2,3],retriev:[2,3],gitpython:[0,1,3,4],ignore_self:2,alia:[2,3],setup:[1,2],work:[2,3],uniqu:[2,3],dev:2,worth:2,remain:2,kwarg:2,can:[1,2,3,4],inidc:2,repostori:2,create_patch:2,root:[2,3],fetch:[2,3],appropri:2,overrid:2,claim:2,encapsul:2,stream:[2,3],new_repo:3,process:2,lock:2,create_from_tre:2,usign:2,givn:2,indic:[0,2,3],max_count:[2,3],high:3,rename_from:2,tag:[0,2,3],want:[2,3],op_mask:2,tress:2,from_blob:2,alwai:[2,3],end:2,filepath:2,reva:2,anoth:[2,3],revb:2,lexigraph:2,a_blob_id:2,treeish:2,write:[2,3],how:3,working_dir:2,"__init__":2,pure:3,missing_ok:2,instead:[2,3],ancestor:2,config:[0,2,3],chri:1,updat:2,map:2,resourc:2,overridden:2,less:3,pypi:1,clone:[1,2,3],after:2,spot:2,processstreamadapt:2,reflect:2,befor:2,wrong:2,trier:3,inst:2,commit:[0,2,3],mai:[2,3],multipl:[2,3],data:[2,3],subsequ:2,handl:[0,2,3],github:1,essenti:3,practic:2,tutori:[0,1,3],classmethod:2,light:2,author:[2,3],correspond:[2,3],foord:1,issu:[0,1,2],inform:[0,1,2,3],"switch":[0,3],cannot:2,environ:2,allow:[2,3],size_as_int:2,first:[2,3],order:2,"3594e94c04db171e2767224db355f514b13715c5":3,"94954abda49de8615a048f8d2e64b5de848e27a1":3,hcommit:3,tty:2,react:2,ouput:2,is_dirti:[2,3],move:2,a_mod:2,held:2,"0x1e0b050":2,through:[1,2,3],lockfil:2,equip:2,suffer:2,pointer:3,style:2,mtrier:3,group:[1,2],directli:[0,2,3],epock:3,exact:2,fix:3,git_python_trac:2,delete_head:[2,3],window:2,com:[1,2,3,4],persist:2,"0x1e3ee60":2,mail:[0,1],b_blob:2,main:2,might:[2,3],alter:2,count:2,non:2,messag:[2,3],"return":[2,3],thei:[2,3],python:[1,2,3],reject:2,initi:[0,2,3],number:[2,3],mention:[2,3],facilit:2,interrupt:2,detach:2,data_stream:[2,3],introduct:3,document:[0,2],name:[2,3],anyth:[2,3],simpl:[2,3],nosuchpatherror:2,wdiff:3,gitcommanderror:2,easili:[1,3],token:2,mode:[2,3],timeout:2,each:[2,3],debug:2,found:[1,2,3,4],went:2,oblig:2,side:2,output_stream:2,everyth:2,weight:2,list:[0,1,2,3,4],individu:[2,3],filehandl:2,unlock:2,expect:2,daemon_export:2,our:2,beyond:1,special:[2,3],out:2,variabl:2,shown:3,accomplish:3,referenc:2,hct:3,sha:[2,3],goe:2,miss:[2,3],newli:2,list_item:2,rev:2,publish:2,your:[1,2,3],content:[2,3],suitabl:2,rel:2,reader:[2,3],print:2,wich:2,branch_first:2,ref:[0,2,3],correct:2,committ:[2,3],existing_fil:3,qualifi:2,ancestri:[2,3],uncommit:2,advanc:2,lazymixin:2,tagref:[2,3],manipul:[2,3],situat:2,given:[2,3],pub:2,standard:[2,3],inod:2,reason:2,base:[0,2,3],mime:2,b_blob_id:2,dictionari:2,latest:[1,2,3],put:3,org:[1,2],"byte":[2,3],queri:[2,3],int_timezone_offset:2,forced_upd:2,shortest:2,thrown:2,sytem:2,stale_ref:2,english:2,could:2,omit:2,synchron:2,keep:2,filter:[2,3],thing:3,length:2,old_commit:2,place:[2,3],due:2,diffindex:[2,3],target:2,fast_forward:2,"0x1e0b0c8":2,interact:1,lambda:2,oper:[2,3],softwar:2,oserror:2,render:2,carri:[2,3],onc:[2,3],hte:2,restrict:2,op_cod:2,alreadi:2,done:[1,2,3],least:2,oppos:2,blockinglockfil:2,facil:2,mileston:[1,4],ls_file:2,differ:2,"long":3,silent:3,workaround:2,script:1,unknown:2,licens:[0,1],mkdir:2,system:[1,2,3],wrapper:2,iter_par:2,necessarili:2,master:[2,3],a_path:2,gid:2,conveni:[2,3],"final":3,store:2,includ:[2,4],free:2,shell:2,option:[2,3],feature1:2,object_type_nam:2,tom:[1,2],setuptool:1,make_sha:2,specifi:[2,3],task:4,"var":[2,3],"short":[2,3],pars:2,mostli:2,checkout:[2,3],exactli:2,than:3,undesir:2,serv:2,wide:2,"0x1df9de8":2,grew:1,create_remot:[2,3],new_origin:3,keyword:[2,3],whenev:2,provid:[1,2,3],remov:[2,3],tree:[0,2,3],zero:2,untrack:[2,3],charact:3,project:[1,2,3,4],matter:2,reus:2,str:[2,3],were:[2,3],other:[2,3],optin:2,merged_index:3,emit:2,sai:3,extended_output:2,preston:[1,2],gitconfigpars:2,argument:[2,3],requri:2,raw:2,himself:2,manner:2,have:[2,3],tabl:0,need:[2,3],predic:2,featur:2,fetchinfo:2,myrepo:2,caus:2,"_cur_lin":2,date:3,f7eb5df2e465ab621b1db3f5714850d6732cfed2:3,lib:3,callback:2,destroi:3,latter:2,note:[2,3],also:[2,3],python2:2,take:[2,3],which:[1,2,3],tupl:[2,3],combin:2,e79b05161e4836e5fbf197aeb52515753e8d6ab6:3,tool:2,singl:2,common_path:2,even:[0,2,3],begin:2,copi:[2,3],unless:2,config_read:[2,3],plenti:2,though:[2,3],track:2,previou:[2,3],what:3,create_head:[2,3],stream_nam:2,id_attr:2,test_remot:3,wire:2,stream_data:[2,3],pair:2,to_native_path_window:2,new_tag:3,"class":2,sub:3,gitori:1,renam:[2,3],url:[2,3],doc:2,clear:2,later:2,destruct:2,doe:2,pipe:2,part:2,tracker:[0,1],clean:3,fiasco:2,usual:[2,3],notion:3,fact:2,gain:2,check_interval_:2,rval:2,unsuspect:2,text:2,cheapli:3,some_branch:3,subprocess:[2,3],hexsha:2,concurr:2,b_mode:2,freeli:3,trivial:2,find:[2,3],slot:2,absolut:2,onli:[2,3],failed_reason:2,locat:2,just:[1,2],ineffect:2,chang:[2,3],clear_cach:2,explain:3,writer:[2,3],releas:2,written:[2,3],should:2,with_extended_output:2,configur:[2,3],suppos:[2,3],active_branch:2,constant:2,local:[2,3],remoteprogress:2,overwritten:2,info:2,incorrect:2,new_commit:3,variou:3,get:[0,1,2,3],stop:2,kind:2,repo:[0,1,2,3],nativ:2,git_dir:2,my_new_symref:2,my_new_branch:3,unexpect:2,requir:[0,1,2],prune:2,portion:2,invalidgitrepositoryerror:2,delete_tag:[2,3],diffabl:[2,3],yield:[2,3],patch:2,new_nam:[2,3],common:[2,3],contain:[2,3],tagger:2,grab:2,attribut:[2,3],where:[2,3],summari:2,kernel:2,set:[2,3],reread:2,commandlin:3,creator:2,diff_ad:3,organ:1,still:2,respect:2,byron:1,roadmap:[0,4],see:[1,2],temporarili:2,bare:[2,3],result:[2,3],arg:2,fail:2,close:2,name_rev:2,gmail:3,appear:2,statu:2,detect:2,new_path:2,kei:2,correctli:2,my_tag:3,databas:[2,3],someth:2,execute_kwarg:2,enumer:2,write_sha:2,favor:2,state:2,between:[2,3],progress:2,awai:2,approach:3,a006b5b1a8115185a228b7514cdcd46fed90dc92:3,is_detach:2,altern:[1,2],signatur:2,accord:2,storabl:3,resolve_blob:2,cat_file_al:2,numer:2,ask:2,blame:[2,3],extens:2,len:3,addit:[2,3],both:2,protect:2,baseindexentri:2,to_full_path:2,remote_ref:2,predessessor:2,hashabl:2,howev:1,valid_fil:2,against:[2,3],foreign:3,checkouterror:2,sha_to_hex:2,let:3,c1c7214dde86f76bc3e18806ac1f47c38b2b7a30:3,whole:2,strftime:3,load:3,dashifi:2,assur:2,simpli:2,point:[2,3],intend:2,overview:[0,1],iter_blob:[2,3],dispatch:2,remote_nam:2,tagger_tz_offset:2,colon:2,suppli:2,typic:2,assum:[1,2],author_tz_offset:2,save:2,becom:[2,3],why:2,"0x7f6598bd65a8":3,addition:3,devic:2,dangeri:2,empti:[2,3],accessor:2,compon:2,is_valid:2,besid:2,basic:[1,3],futur:2,a95eeb2a7082212c197cabbf2539185ec74ed0e8:3,valueerror:2,partial:2,quickli:2,to_native_path_linux:2,field:[2,3],life:3,bit:2,deeper:2,encourag:1,tmp_index:3,rubi:1,search:[0,2],ani:[2,3],parent_commit:2,understand:[0,3],togeth:2,func:2,demand:2,present:2,refspec:2,"case":[2,3],therefor:2,look:3,packag:[1,2],plain:2,int_time_seconds_since_epoch:2,properti:2,dest:2,defin:2,is_git_dir:2,abov:3,error:[0,2],invoc:2,id_attribut:2,loop:2,bitflag:2,"207c0c4418115df0d30820ab1a9acd2ea4bf4431":3,tar:[2,3],stdout:2,access:[2,3],mtime:2,henc:2,them:[2,3],activ:[2,3],type_str:2,"default":[2,3],itself:[2,3],costli:2,lightweight:2,mojombo:2,limit:2,revis:[2,3],usulli:2,sever:2,parent:[2,3],decor:2,"null":2,develop:[2,3],open:[2,3],minim:2,perform:[1,2],make:2,same:[2,3],member:2,binari:[2,3],epoch:3,html:2,visit_onc:2,unmerged_blob:2,start:[0,1],complet:2,exhaust:1,safe:2,http:[1,2,4],closest:2,directoi:2,upon:2,effect:[2,3],preced:2,remot:[0,2,3],rais:2,temporari:[2,3],user:[2,3],usecas:3,improv:[1,2],wherev:2,tradition:2,"__new__":2,travers:[2,3],visist_onc:2,kept:2,equival:2,config_writ:[2,3],entri:[2,3],my_new_fil:3,well:[2,3],except:[2,3],know:[2,3],without:[2,3],person:2,exampl:[2,3],command:[1,2,3],thi:[1,2,3],filesystem:3,model:3,self:2,a_blob:2,left:2,construct:2,identifi:[2,3],fast:2,execut:2,asctim:3,my_stream:3,config_level:2,obtain:[0,2,3],reserv:2,ouput_stream:2,kill:2,actor:[0,2,3],human:[2,3],behind:2,touch:2,line_drop:2,speed:2,yet:2,gather:2,merge_tre:2,easi:2,wed:3,interfer:2,had:2,is_git_directori:2,add:[1,2,3],valid:2,pile:2,blob:[0,2,3],appli:2,working_tre:[2,3],els:2,successor:2,somwhat:2,match:[2,3],gave:2,real:3,applic:2,grit:1,around:2,format:[2,3],read:[2,3],parse_actor_and_d:2,sha1:[2,3],for_each_ref:3,syntax:3,walk:1,recurs:3,ineffici:3,remoterefer:2,insert:2,daemon:2,write_tre:2,througout:2,manual:[2,3],resolv:2,symref:2,server:3,werner:[1,2],bsd:1,either:2,output:[2,3],page:[0,3],underli:2,encount:2,www:2,drop:[2,3],often:2,deal:2,wherea:2,linux:3,some:[1,2],back:2,global:2,understood:2,intern:2,sure:2,"export":2,integ:2,diff:[0,2,3],dear:2,guarante:2,"0x1df9e60":2,successfulli:2,byronimo:[1,4],librari:1,distribut:1,assertionerror:2,to_native_path:2,local_ref:2,total:2,lead:2,channel:3,archiv:[2,3],size:[2,3],get_object_type_by_nam:2,per:2,when:[2,3],new_branch:[2,3],leav:2,iterablelist:2,three:[2,3],proc:2,nose:1,working_tree_dir:2,plu:2,object:[0,2,3],run:[1,2],uncompress:[2,3],iter_tre:2,get_entries_kei:2,gmtime:3,delete_remot:[2,3],viabl:2,step:3,sha1writ:2,although:2,fulli:2,immut:3,hashlib:2,stage:[2,3],comparison:2,about:[1,2,3],actual:[2,3],lighthous:4,memori:2,plai:2,unfortun:2,distinct:3,stand:2,act:2,discard:2,mean:2,produc:[2,3],block:2,associ:[2,4],own:[2,3],effici:2,consid:2,remote_ref_str:2,within:2,easy_instal:1,automat:2,compos:3,ostream:2,creation:2,right:2,basenam:2,been:[2,3],blobfilt:2,notat:2,wrap:[2,3],"import":[2,3],next:3,mere:2,manag:2,other_branch:3,git:[0,1,2,3],deleted_fil:2,log:[2,3],wai:[2,3],transfer:2,support:2,question:2,transform:2,overwrit:[2,3],custom:2,avail:[1,2],lost:2,reli:2,"563413aedbeda425d8d9dcbb744247d0c3e8a0ac":3,interfac:2,iter_item:2,lot:3,a871e79d59cf8488cac4af0c8f990b7a989e2b53:3,pushurl:[2,3],rename_to:2,"function":[1,2,3],indexfil:[2,3],head:[2,3],properli:2,gitignor:2,subdirectori:3,form:3,enough:2,forc:2,untracked_fil:[2,3],committer_tz_offset:2,forward:2,with_keep_cwd:2,translat:3,newer:1,branch:[0,2,3],parlanc:3,eas:3,"true":[2,3],reset:[2,3],pull:[2,3],succe:2,made:3,wise:2,dirti:2,consist:2,possibl:2,whether:[2,3],span:2,caller:2,unmerg:2,indexobject:2,tell:2,record:3,below:2,join_path:2,those:2,my_untracked_fil:3,otherwis:2,new_head:2,similar:[2,3],email:2,sort:2,default_index:2,int_nano_second:2,uid:2,creat:[1,2,3],create_tag:[2,3],"int":2,parser:2,tdiff:3,file_path:2,doesn:2,repres:[2,3],destinatin:2,exist:[2,3],file:[1,2,3],heritag:1,index_entry_inst:2,check:[2,3],merge_index:3,probabl:[2,3],committed_d:[2,3],again:2,cloned_repo:3,googl:1,hex:2,tip:3,detail:2,invalid:2,prepend:2,"1c09f116cbc2cb4100fb6935bb162daa4723f455":2,cur_count:2,merg:[2,3],do_something_with:3,rememb:2,test:[1,2,3],you:[1,2,3],mock:1,nice:2,pushinfo:2,stat:[0,2,3],remote_head:2,sequenc:2,symbol:[2,3],myrefer:2,perforam:2,idiff:3,data_str:2,ignore_tree_extension_data:2,from_tre:[2,3],authored_d:[2,3],get_object_head:2,receiv:2,algorithm:2,spend:1,directori:[2,3],descript:2,concurrentwriteoper:2,depth:[2,3],ignor:2,as_edg:2,time:[1,2,3],push:[2,3],escap:3,pyhton:3,dst:2,wanstrath:1},titles:["GitPython Documentation","Overview / Install","API Reference","GitPython Tutorial","Roadmap"],modules:{"git.objects.tree":2,"git.cmd":2,"git.repo":2,"git.diff":2,"git.errors":2,"git.config":2,"git.objects.tag":2,"git.objects.blob":2,"git.objects.base":2,"git.actor":2,"git.index":2,"git.utils":2,"git.objects.commit":2,"git.objects.utils":2,"git.refs":2,"git.remote":2,"git.stats":2},descrefs:{"git.objects.tree":{Tree:[2,1],sha_to_hex:[2,4]},"git.refs.HEAD":{reset:[2,0]},"git.repo":{touch:[2,4],Repo:[2,1],is_git_dir:[2,4]},"git.errors":{GitCommandError:[2,5],NoSuchPathError:[2,5],InvalidGitRepositoryError:[2,5]},"git.refs.TagReference":{commit:[2,3],create:[2,2],tag:[2,3],"delete":[2,2]},"git.utils.Iterable":{iter_items:[2,2],list_items:[2,2]},"git.stats.Stats":{files:[2,3],total:[2,3]},"git.remote.FetchInfo":{name:[2,3],note:[2,3],old_commit:[2,3],flags:[2,3],commit:[2,3],ref:[2,3]},"git.index.BaseIndexEntry":{sha:[2,3],path:[2,3],from_blob:[2,2],mode:[2,3],stage:[2,3]},"git.actor":{Actor:[2,1]},"git.remote.PushInfo":{local_ref:[2,3],remote_ref:[2,3],summary:[2,3],old_commit:[2,3],flags:[2,3],remote_ref_string:[2,3]},"git.objects.blob.Blob":{mime_type:[2,3]},"git.refs.Head":{rename:[2,0],create:[2,2],checkout:[2,0],"delete":[2,2]},"git.refs.SymbolicReference":{rename:[2,0],to_full_path:[2,2],reference:[2,3],create:[2,2],iter_items:[2,2],name:[2,3],repo:[2,3],is_valid:[2,0],from_path:[2,2],commit:[2,3],path:[2,3],is_detached:[2,3],ref:[2,3],"delete":[2,2]},"git.refs.Reference":{create:[2,2],object:[2,3],iter_items:[2,2],name:[2,3]},"git.repo.Repo":{bare:[2,3],create_tag:[2,0],config_reader:[2,0],refs:[2,3],branches:[2,3],is_dirty:[2,0],tag:[2,0],references:[2,3],git:[2,3],daemon_export:[2,3],archive:[2,0],alternates:[2,3],index:[2,3],delete_remote:[2,0],heads:[2,3],iter_commits:[2,0],init:[2,2],delete_head:[2,0],working_dir:[2,3],active_branch:[2,3],head:[2,3],description:[2,3],tags:[2,3],clone:[2,0],create_head:[2,0],blame:[2,0],remotes:[2,3],git_dir:[2,3],untracked_files:[2,3],iter_trees:[2,0],config_writer:[2,0],create_remote:[2,0],remote:[2,0],delete_tag:[2,0],tree:[2,0],working_tree_dir:[2,3],commit:[2,0]},"git.remote.Remote":{rename:[2,0],pull:[2,0],name:[2,3],config_reader:[2,3],create:[2,2],iter_items:[2,2],remove:[2,2],fetch:[2,0],repo:[2,3],add:[2,2],config_writer:[2,3],push:[2,0],rm:[2,2],update:[2,0],refs:[2,3],stale_refs:[2,3]},"git.diff.DiffIndex":{iter_change_type:[2,0]},"git.index":{default_index:[2,4],BlobFilter:[2,1],clear_cache:[2,4],IndexEntry:[2,1],CheckoutError:[2,5],IndexFile:[2,1],BaseIndexEntry:[2,1]},"git.index.IndexEntry":{uid:[2,3],dev:[2,3],ctime:[2,3],gid:[2,3],mtime:[2,3],from_base:[2,2],size:[2,3],inode:[2,3],from_blob:[2,2]},"git.objects.utils.Traversable":{traverse:[2,0]},"git.remote":{PushInfo:[2,1],Remote:[2,1],RemoteProgress:[2,1],FetchInfo:[2,1]},"git.diff.Diff":{new_file:[2,3],a_blob:[2,3],renamed:[2,3],rename_from:[2,3],diff:[2,3],b_blob:[2,3],a_mode:[2,3],deleted_file:[2,3],b_mode:[2,3],rename_to:[2,3]},"git.cmd":{Git:[2,1],dashify:[2,4]},"git.objects.tag.TagObject":{object:[2,3],tagged_date:[2,3],tagger_tz_offset:[2,3],tagger:[2,3],message:[2,3],tag:[2,3]},"git.config":{GitConfigParser:[2,3]},"git.remote.RemoteProgress":{line_dropped:[2,0],update:[2,0]},"git.objects.base":{IndexObject:[2,1],Object:[2,1]},"git.objects.commit.Commit":{count:[2,0],committer:[2,3],author_tz_offset:[2,3],stats:[2,3],author:[2,3],tree:[2,3],iter_items:[2,2],committer_tz_offset:[2,3],summary:[2,3],parents:[2,3],committed_date:[2,3],iter_parents:[2,0],message:[2,3],name_rev:[2,3],authored_date:[2,3],create_from_tree:[2,2]},"git.objects.base.Object":{data:[2,3],repo:[2,3],sha:[2,3],stream_data:[2,0],"new":[2,2],data_stream:[2,3],size:[2,3]},"git.refs.RemoteReference":{remote_head:[2,3],remote_name:[2,3],"delete":[2,2]},"git.refs":{HEAD:[2,1],Tag:[2,3],Reference:[2,1],SymbolicReference:[2,1],Head:[2,1],RemoteReference:[2,1],TagReference:[2,1]},"git.stats":{Stats:[2,1]},"git.index.BlobFilter":{paths:[2,3]},"git.diff":{Diff:[2,1],DiffIndex:[2,1],Diffable:[2,1]},"git.cmd.Git.AutoInterrupt":{args:[2,3],proc:[2,3],wait:[2,0]},"git.utils.SHA1Writer":{sha1:[2,3],f:[2,3],write:[2,0],close:[2,0],write_sha:[2,0],tell:[2,0]},"git.objects.base.IndexObject":{path:[2,3],abspath:[2,3],name:[2,3],mode:[2,3]},"git.objects.tag":{TagObject:[2,1]},"git.index.IndexFile":{reset:[2,0],resolve_blobs:[2,0],write:[2,0],commit:[2,0],get_entries_key:[2,2],move:[2,0],write_tree:[2,0],unmerged_blobs:[2,0],update:[2,0],repo:[2,3],merge_tree:[2,0],add:[2,0],version:[2,3],remove:[2,0],from_tree:[2,2],path:[2,3],diff:[2,0],entries:[2,3],checkout:[2,0],iter_blobs:[2,0]},"git.cmd.Git":{cat_file_header:[2,3],execute:[2,0],clear_cache:[2,0],AutoInterrupt:[2,1],transform_kwargs:[2,0],get_object_header:[2,0],working_dir:[2,3],cat_file_all:[2,3],get_object_data:[2,0]},"git.diff.Diffable":{Index:[2,1],diff:[2,0]},"git.utils":{to_native_path_linux:[2,4],to_native_path:[2,4],LazyMixin:[2,1],BlockingLockFile:[2,1],make_sha:[2,4],to_native_path_windows:[2,4],join_path_native:[2,4],ConcurrentWriteOperation:[2,1],SHA1Writer:[2,1],IterableList:[2,1],join_path:[2,4],LockFile:[2,1],Iterable:[2,1]},"git.objects.blob":{Blob:[2,1]},"git.objects.utils":{ProcessStreamAdapter:[2,1],get_object_type_by_name:[2,4],Traversable:[2,1],parse_actor_and_date:[2,4]},"git.objects.tree.Tree":{traverse:[2,0],blobs:[2,3],trees:[2,3]},"git.objects.commit":{Commit:[2,1]}},filenames:["index","intro","reference","tutorial","roadmap"]}) \ No newline at end of file
diff --git a/doc/doc_index/0.2/tutorial.html b/doc/doc_index/0.2/tutorial.html
index a2400578..0498e77a 100644
--- a/doc/doc_index/0.2/tutorial.html
+++ b/doc/doc_index/0.2/tutorial.html
@@ -31,6 +31,9 @@
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ accesskey="M">modules</a> |</li>
+ <li class="right" >
<a href="reference.html" title="API Reference"
accesskey="N">next</a> |</li>
<li class="right" >
@@ -438,6 +441,9 @@ The special notion <tt class="docutils literal"><span class="pre">git.command(fl
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
+ <a href="modindex.html" title="Global Module Index"
+ >modules</a> |</li>
+ <li class="right" >
<a href="reference.html" title="API Reference"
>next</a> |</li>
<li class="right" >
diff --git a/lib/git/ext/gitdb b/lib/git/ext/gitdb
-Subproject 7562fdd96ab995f6c25fc102ef40a285283c844
+Subproject b76bac22bbb146a7a82318721147d7a5f831b7e