Handles executing the command on the shell and consumes and returns
+the returned information (stdout)
+
-
Remote
+
+
Config
+
Module containing module parser implementation able to properly read and write
+configuration files
+
+-
+git.config.GitConfigParser
+- alias of write
+
-
-
Repo
+
+
Diff
+
+-
+class git.diff.Diff(repo, a_path, b_path, a_blob_id, b_blob_id, a_mode, b_mode, new_file, deleted_file, rename_from, rename_to, diff)
+A Diff contains diff information between two Trees.
+It contains two sides a and b of the diff, members are prefixed with
+“a” and “b” respectively to inidcate that.
+Diffs keep information about the changed blob objects, the file mode, renames,
+deletions and new files.
+There are a few cases where None has to be expected as member variable value:
+New File:
+a_mode is None
+a_blob is None
+
-
-
Stats
+
Deleted File:
+
b_mode is None
+b_blob is None
+
-
-
Utils
+
Working Tree Blobs
+
+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.
+
+-
+a_blob
+
+
+
+-
+a_mode
+
+
+
+-
+b_blob
+
+
+
+-
+b_mode
+
+
+
+-
+deleted_file
+
+
+
+-
+diff
+
+
+
+-
+new_file
+
+
+
+-
+rename_from
+
+
+
+-
+rename_to
+
+
+
+-
+renamed
+
+- Returns:
+- True if the blob of our diff has been renamed
+
+
+
+
+
+
+-
+class git.diff.DiffIndex
+Implements an Index for diffs, allowing a list of Diffs to be queried by
+the diff properties.
+The class improves the diff handling convenience
+
+-
+iter_change_type(change_type)
+
+- Return
+- iterator yieling Diff instances that match the given change_type
+- change_type
+Member of DiffIndex.change_type, namely
+‘A’ for added paths
+‘D’ for deleted paths
+‘R’ for renamed paths
+‘M’ for paths with modified data
+
+
+
+
+
+
+
+-
+class git.diff.Diffable
+Common interface for all object that can be diffed against another object of compatible type.
+
+- NOTE:
+- Subclasses require a repo member as it is the case for Object instances, for practical
+reasons we do not derive from Object.
+
+
+-
+class Index
+
+
+
+-
+Diffable.diff(other=<class 'git.diff.Index'>, paths=None, create_patch=False, **kwargs)
+Creates diffs between two items being trees, trees and index or an
+index and the working tree.
+
+- other
+- 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.
+- paths
+- 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.
+- create_patch
+- 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.
+- kwargs
+- Additional arguments passed to git-diff, such as
+R=True to swap both sides of the diff.
+- Returns
+- git.DiffIndex
+- Note
+Rename detection will only work if create_patch is True.
+On a bare repository, ‘other’ needs to be provided as Index or as
+as Tree/Commit, or a git command error will occour
+
+
+
+
+
+
+
+
+
Errors
+
Module containing all exceptions thrown througout the git package,
+
+-
+exception git.errors.GitCommandError(command, status, stderr=None)
+- Thrown if execution of the git command fails with non-zero status code.
+
+
+-
+exception git.errors.InvalidGitRepositoryError
+- Thrown if the given repository appears to have an invalid format.
+
+
+-
+exception git.errors.NoSuchPathError
+- Thrown if a path could not be access by the system.
+
+
+
+
Index
+
Module containing Index implementation, allowing to perform all kinds of index
+manipulations such as querying and merging.
+
+-
+class git.index.BaseIndexEntry
+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.
+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.
+
+-
+classmethod from_blob(blob, stage=0)
+
+- Returns
+- Fully equipped BaseIndexEntry at the given stage
+
+
+
+
+-
+mode
+- File Mode, compatible to stat module constants
+
+
+-
+path
+
+
+
+-
+sha
+- hex sha of the blob
+
+
+-
+stage
+
+- Stage of the entry, either:
+- 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 ‘left’ side of the merge
+3 = stage of entries from the right side of the merge
+- Note:
+- For more information, see http://www.kernel.org/pub/software/scm/git/docs/git-read-tree.html
+
+
+
+
+
+
+-
+class git.index.BlobFilter(paths)
+Predicate to be used by iter_blobs allowing to filter only return blobs which
+match the given list of directories or files.
+The given paths are given relative to the repository.
+
+-
+paths
+
+
+
+
+
+-
+exception git.index.CheckoutError(message, failed_files, valid_files, failed_reasons)
+Thrown if a file could not be checked out from the index as it contained
+changes.
+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.
+The .failed_reasons attribute contains a string informing about the actual
+cause of the issue.
+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
+
+
+
+-
+class git.index.IndexEntry
+Allows convenient access to IndexEntry data without completely unpacking it.
+Attributes usully accessed often are cached in the tuple whereas others are
+unpacked on demand.
+See the properties for a mapping between names and tuple indices.
+
+-
+ctime
+
+- Returns
+- Tuple(int_time_seconds_since_epoch, int_nano_seconds) of the
+file’s creation time
+
+
+
+
+-
+dev
+- Device ID
+
+
+-
+classmethod from_base(base)
+
+- Returns
+- Minimal entry as created from the given BaseIndexEntry instance.
+Missing values will be set to null-like values
+- base
+- Instance of type BaseIndexEntry
+
+
+
+
+-
+classmethod from_blob(blob)
+
+- Returns
+- Minimal entry resembling the given blob objecft
+
+
+
+
+-
+gid
+- Group ID
+
+
+-
+inode
+- Inode ID
+
+
+-
+mtime
+- See ctime property, but returns modification time
+
+
+-
+size
+Uncompressed size of the blob
+
+- Note
+- Will be 0 if the stage is not 0 ( hence it is an unmerged entry )
+
+
+
+
+-
+uid
+- User ID
+
+
+
+
+-
+class git.index.IndexFile(repo, file_path=None)
+Implements an Index that can be manipulated using a native implementation in
+order to save git command function calls wherever possible.
+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.
+Entries
+The index contains an entries dict whose keys are tuples of type IndexEntry
+to facilitate access.
+
+- You may read the entries dict or manipulate it using IndexEntry instance, i.e.::
+- index.entries[index.get_entries_key(index_entry_instance)] = index_entry_instance
+
+Otherwise changes to it will be lost when changing the index using its methods.
+
+-
+add(*args, **kwargs)
+
+
+
+-
+checkout(*args, **kwargs)
+
+
+
+-
+commit(*args, **kwargs)
+
+
+
+-
+diff(*args, **kwargs)
+
+
+
+-
+entries
+
+
+
+-
+classmethod from_tree(repo, *treeish, **kwargs)
+Merge the given treeish revisions into a new index which is returned.
+The original index will remain unaltered
+
+- repo
+- The repository treeish are located in.
+- *treeish
+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
+
+two way merge algorithm. Tree 1 is the ‘current’ tree, tree 2 is the ‘other’
+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 ‘current’ tree,
+tree 3 is the ‘other’ one
+
+- **kwargs
+- Additional arguments passed to git-read-tree
+- Returns
+- 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 ‘write’ method.
+- Note:
+In the three-way merge case, –aggressive will be specified to automatically
+resolve more cases in a commonly correct manner. Specify trivial=True as kwarg
+to override that.
+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.
+
+
+
+
+
+-
+classmethod get_entries_key(*entry)
+
+- Returns
+- Key suitable to be used for the index.entries dictionary
+- entry
+- One instance of type BaseIndexEntry or the path and the stage
+
+
+
+
+-
+iter_blobs(predicate=<function <lambda> at 0x1e3ee60>)
+
+- Returns
+- Iterator yielding tuples of Blob objects and stages, tuple(stage, Blob)
+- predicate
+- 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.
+
+
+
+
+-
+merge_tree(*args, **kwargs)
+
+
+
+-
+move(*args, **kwargs)
+
+
+
+-
+path
+
+- Returns
+- Path to the index file we are representing
+
+
+
+
+-
+remove(*args, **kwargs)
+
+
+
+-
+repo
+
+
+
+-
+reset(*args, **kwargs)
+
+
+
+-
+resolve_blobs(iter_blobs)
+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.
+For each path there may only be one blob, otherwise a ValueError will be raised
+claiming the path is already at stage 0.
+
+- Raise
+- ValueError if one of the blobs already existed at stage 0
+- Returns:
+- self
+- Note
+- You will have to write the index manually once you are done, i.e.
+index.resolve_blobs(blobs).write()
+
+
+
+
+-
+unmerged_blobs()
+
+- Returns
+- 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
+- Note:
+- Blobs that have been removed in one side simply do not exist in the
+given stage. I.e. a file removed on the ‘other’ branch whose entries
+are at stage 3 will not have a stage 3 entry.
+
+
+
+
+-
+update()
+Reread the contents of our index file, discarding all cached information
+we might have.
+
+- Note:
+- This is a possibly dangerious operations as it will discard your changes
+to index.entries
+- Returns
+- self
+
+
+
+
+-
+version
+
+
+
+-
+write(file_path=None, ignore_tree_extension_data=False)
+Write the current state to our file path or to the given one
+
+- file_path
+- 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.
+- ignore_tree_extension_data
+- 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
+- Returns
+- self
+- Note
+- Index writing based on the dulwich implementation
+
+
+
+
+-
+write_tree(missing_ok=False)
+Writes the Index in self to a corresponding Tree file into the repository
+object database and returns it as corresponding Tree object.
+
+- missing_ok
+- If True, missing objects referenced by this index will not result
+in an error.
+- Returns
+- Tree object representing this index
+
+
+
+
+
+
+-
+git.index.clear_cache(func)
+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.
+
+- Note
+- This decorator will not be required once all functions are implemented
+natively which in fact is possible, but probably not feasible performance wise.
+
+
+
+
+-
+git.index.default_index(func)
+- 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.
+
+
+
+
Refs
+
Module containing all ref based objects
+
+-
+class git.refs.HEAD(repo, path='HEAD')
+Special case of a Symbolic Reference as it represents the repository’s
+HEAD reference.
+
+-
+reset(commit='HEAD', index=True, working_tree=False, paths=None, **kwargs)
+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.
+
+- commit
+- Commit object, Reference Object or string identifying a revision we
+should reset HEAD to.
+- index
+- If True, the index will be set to match the given commit. Otherwise
+it will not be touched.
+- working_tree
+- 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
+- paths
+- Single path or list of paths relative to the git root directory
+that are to be reset. This allow to partially reset individual files.
+- kwargs
+- Additional arguments passed to git-reset.
+- Returns
+- self
+
+
+
+
+
+
+-
+class git.refs.Head(repo, path)
+A Head is a named reference to a Commit. Every Head instance contains a name
+and a Commit object.
+Examples:
+>>> repo = Repo("/path/to/repo")
+>>> head = repo.heads[0]
+
+>>> head.name
+'master'
+
+>>> head.commit
+<git.Commit "1c09f116cbc2cb4100fb6935bb162daa4723f455">
+
+>>> head.commit.sha
+'1c09f116cbc2cb4100fb6935bb162daa4723f455'
+
+
+
+-
+checkout(force=False, **kwargs)
+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.
+The command will fail if changed working tree files would be overwritten.
+
+- force
+- If True, changes to the index and the working tree will be discarded.
+If False, GitCommandError will be raised in that situation.
+- **kwargs
+- Additional keyword arguments to be passed to git checkout, i.e.
+b=’new_branch’ to create a new branch at the given spot.
+- Returns
+- The active branch after the checkout operation, usually self unless
+a new branch has been created.
+- Note
+- 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.
+
+
+
+
+-
+classmethod create(repo, path, commit='HEAD', force=False, **kwargs)
+Create a new head.
+repo
+
+Repository to create the head in
+
+- path
+- The name or path of the head, i.e. ‘new_branch’ or
+feature/feature1. The prefix refs/heads is implied.
+- commit
+- Commit to which the new head should point, defaults to the
+current HEAD
+- force
+- if True, force creation even if branch with that name already exists.
+- **kwargs
+- Additional keyword arguments to be passed to git-branch, i.e.
+track, no-track, l
+- Returns
+- Newly created Head
+- Note
+- This does not alter the current HEAD, index or Working Tree
+
+
+
+
+-
+classmethod delete(repo, *heads, **kwargs)
+Delete the given heads
+
+- force
+- If True, the heads will be deleted even if they are not yet merged into
+the main development stream.
+Default False
+
+
+
+
+-
+rename(new_path, force=False)
+Rename self to a new path
+
+- new_path
+- Either a simple name or a path, i.e. new_name or features/new_name.
+The prefix refs/heads is implied
+- force
+- If True, the rename will succeed even if a head with the target name
+already exists.
+- Returns
+- self
+- Note
+- respects the ref log as git commands are used
+
+
+
+
+
+
+-
+class git.refs.Reference(repo, path)
+Represents a named reference to any object. Subclasses may apply restrictions though,
+i.e. Heads can only point to commits.
+
+-
+classmethod create(repo, path, commit='HEAD', force=False)
+Create a new reference.
+repo
+
+Repository to create the reference in
+
+- path
+- The relative path of the reference, i.e. ‘new_branch’ or
+feature/feature1. The path prefix ‘refs/’ is implied if not
+given explicitly
+- commit
+- Commit to which the new reference should point, defaults to the
+current HEAD
+- force
+- if True, force creation even if a reference with that name already exists.
+Raise OSError otherwise
+- Returns
+- Newly created Reference
+- Note
+- This does not alter the current HEAD, index or Working Tree
+
+
+
+
+-
+classmethod iter_items(repo, common_path=None)
+- Equivalent to SymbolicReference.iter_items, but will return non-detached
+references as well.
+
+
+-
+name
+
+- Returns
+- (shortest) Name of this reference - it may contain path components
+
+
+
+
+-
+object
+- Return the object our ref currently refers to
+
+
+
+
+-
+class git.refs.RemoteReference(repo, path)
+Represents a reference pointing to a remote head.
+
+-
+classmethod delete(repo, *refs, **kwargs)
+Delete the given remote references.
+
+- Note
+- kwargs are given for compatability with the base class method as we
+should not narrow the signature.
+
+
+
+
+-
+remote_head
+
+- Returns
+- Name of the remote head itself, i.e. master.
+
+NOTE: The returned name is usually not qualified enough to uniquely identify
+a branch
+
+
+
+-
+remote_name
+
+- Returns
+- Name of the remote we are a reference of, such as ‘origin’ for a reference
+named ‘origin/master’
+
+
+
+
+
+
+-
+class git.refs.SymbolicReference(repo, path)
+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.
+A typical example for a symbolic reference is HEAD.
+
+-
+commit
+- Query or set commits directly
+
+
+-
+classmethod create(repo, path, reference='HEAD', force=False)
+Create a new symbolic reference, hence a reference pointing to another
+reference.
+repo
+
+Repository to create the reference in
+
+- path
+- full path at which the new symbolic reference is supposed to be
+created at, i.e. “NEW_HEAD” or “symrefs/my_new_symref”
+- reference
+- The reference to which the new symbolic reference should point to
+- force
+- if True, force creation even if a symbolic reference with that name already exists.
+Raise OSError otherwise
+- Returns
+- Newly created symbolic Reference
+- Raises OSError
+- If a (Symbolic)Reference with the same name but different contents
+already exists.
+- Note
+- This does not alter the current HEAD, index or Working Tree
+
+
+
+
+-
+classmethod delete(repo, path)
+Delete the reference at the given path
+
+- repo
+- Repository to delete the reference from
+- path
+- Short or full path pointing to the reference, i.e. refs/myreference
+or just “myreference”, hence ‘refs/’ is implied.
+Alternatively the symbolic reference to be deleted
+
+
+
+
+-
+classmethod from_path(repo, path)
+
+- Return
+- Instance of type Reference, Head, or Tag
+depending on the given path
+
+
+
+
+-
+is_detached
+
+- Returns
+- True if we are a detached reference, hence we point to a specific commit
+instead to another reference
+
+
+
+
+-
+is_valid()
+
+- Returns
+- True if the reference is valid, hence it can be read and points to
+a valid object or reference.
+
+
+
+
+-
+classmethod iter_items(repo, common_path=None)
+Find all refs in the repository
+
+- repo
+- is the Repo
+- common_path
+- 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.
+- Returns
+git.SymbolicReference[], each of them is guaranteed to be a symbolic
+ref which is not detached.
+List is lexigraphically sorted
+The returned objects represent actual subclasses, such as Head or TagReference
+
+
+
+
+
+-
+name
+
+- Returns
+- In case of symbolic references, the shortest assumable name
+is the path itself.
+
+
+
+
+-
+path
+
+
+
+-
+ref
+- Returns the Reference we point to
+
+
+-
+reference
+- Returns the Reference we point to
+
+
+-
+rename(new_path, force=False)
+Rename self to a new path
+
+- new_path
+- 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
+- force
+- If True, the rename will succeed even if a head with the target name
+already exists. It will be overwritten in that case
+- Returns
+- self
+- Raises OSError:
+- In case a file at path but a different contents already exists
+
+
+
+
+-
+repo
+
+
+
+-
+classmethod to_full_path(path)
+
+
+
+
+| Returns: | string with a full path name which can be used to initialize |
+
+
+
+a Reference instance, for instance by using Reference.from_path
+
+
+
+
+
+-
+git.refs.Tag
+- alias of TagReference
+
+
+-
+class git.refs.TagReference(repo, path)
+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.
+This tag object will always point to a commit object, but may carray additional
+information in a tag object:
+tagref = TagReference.list_items(repo)[0]
+print tagref.commit.message
+if tagref.tag is not None:
+ print tagref.tag.message
+
+
+
+-
+commit
+
+- Returns
+- Commit object the tag ref points to
+
+
+
+
+-
+classmethod create(repo, path, ref='HEAD', message=None, force=False, **kwargs)
+Create a new tag reference.
+
+- path
+- The name of the tag, i.e. 1.0 or releases/1.0.
+The prefix refs/tags is implied
+- ref
+- A reference to the object you want to tag. It can be a commit, tree or
+blob.
+- message
+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.:
+
+
+- force
+- If True, to force creation of a tag even though that tag already exists.
+- **kwargs
+- Additional keyword arguments to be passed to git-tag
+- Returns
+- A new TagReference
+
+
+
+
+-
+classmethod delete(repo, *tags)
+- Delete the given existing tag or tags
+
+
+-
+tag
+
+- Returns
+- Tag object this tag ref points to or None in case
+we are a light weight tag
+
+
+
+
+
+
+
+
Remote
+
Module implementing a remote object allowing easy access to git remotes
+
+-
+class git.remote.FetchInfo(ref, flags, note='', old_commit=None)
+Carries information about the results of a fetch operation of a single head:
+info = remote.fetch()[0]
+info.ref # Symbolic Reference or RemoteReference to the changed
+ # remote head or FETCH_HEAD
+info.flags # additional flags to be & with enumeration members,
+ # i.e. info.flags & info.REJECTED
+ # is 0 if ref is SymbolicReference
+info.note # additional notes given by git-fetch intended for the user
+info.old_commit # if info.flags & info.FORCED_UPDATE|info.FAST_FORWARD,
+ # field is set to the previous location of ref, otherwise None
+
+
+
+-
+commit
+
+- Returns
+- Commit of our remote ref
+
+
+
+
+-
+flags
+
+
+
+-
+name
+
+- Returns
+- Name of our remote ref
+
+
+
+
+-
+note
+
+
+
+-
+old_commit
+
+
+
+-
+ref
+
+
+
+
+
+-
+class git.remote.PushInfo(flags, local_ref, remote_ref_string, remote, old_commit=None, summary='')
+Carries information about the result of a push operation of a single head:
+info = remote.push()[0]
+info.flags # bitflags providing more information about the result
+info.local_ref # Reference pointing to the local reference that was pushed
+ # It is None if the ref was deleted.
+info.remote_ref_string # path to the remote reference located on the remote side
+info.remote_ref # Remote Reference on the local side corresponding to
+ # the remote_ref_string. It can be a TagReference as well.
+info.old_commit # commit at which the remote_ref was standing before we pushed
+ # it to local_ref.commit. Will be None if an error was indicated
+info.summary # summary line providing human readable english text about the push
+
+
+
+-
+flags
+
+
+
+-
+local_ref
+
+
+
+-
+old_commit
+
+
+
+-
+remote_ref
+
+- Returns
+- Remote Reference or TagReference in the local repository corresponding
+to the remote_ref_string kept in this instance.
+
+
+
+
+-
+remote_ref_string
+
+
+
+-
+summary
+
+
+
+
+
+-
+class git.remote.Remote(repo, name)
+Provides easy read and write access to a git remote.
+Everything not part of this interface is considered an option for the current
+remote, allowing constructs like remote.pushurl to query the pushurl.
+NOTE: When querying configuration, the configuration accessor will be cached
+to speed up subsequent accesses.
+
+-
+classmethod add(repo, name, url, **kwargs)
+Create a new remote to the given repository
+repo
+
+Repository instance that is to receive the new remote
+
+- name
+- Desired name of the remote
+- url
+- URL which corresponds to the remote’s name
+- **kwargs
+- Additional arguments to be passed to the git-remote add command
+- Returns
+- New Remote instance
+- Raise
+- GitCommandError in case an origin with that name already exists
+
+
+
+
+-
+config_reader
+
+- Returns
+- GitConfigParser compatible object able to read options for only our remote.
+Hence you may simple type config.get(“pushurl”) to obtain the information
+
+
+
+
+-
+config_writer
+
+- Return
+- GitConfigParser compatible object able to write options for this remote.
+- Note
+You can only own one writer at a time - delete it to release the
+configuration file and make it useable by others.
+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.
+
+
+
+
+
+-
+classmethod create(repo, name, url, **kwargs)
+Create a new remote to the given repository
+repo
+
+Repository instance that is to receive the new remote
+
+- name
+- Desired name of the remote
+- url
+- URL which corresponds to the remote’s name
+- **kwargs
+- Additional arguments to be passed to the git-remote add command
+- Returns
+- New Remote instance
+- Raise
+- GitCommandError in case an origin with that name already exists
+
+
+
+
+-
+fetch(refspec=None, progress=None, **kwargs)
+Fetch the latest changes for this remote
+
+- refspec
+A “refspec” 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 <src>:<dst>, preceded by an optional plus sign, +.
+For example: git fetch $URL refs/heads/master:refs/heads/origin means
+“grab the master branch head from the $URL and store it as my origin
+branch head”. And git push $URL refs/heads/master:refs/heads/to-upstream
+means “publish my master branch head as to-upstream branch at $URL”.
+See also git-push(1).
+Taken from the git manual
+
+- progress
+- See ‘push’ method
+- **kwargs
+- Additional arguments to be passed to git-fetch
+- Returns
+- IterableList(FetchInfo, ...) list of FetchInfo instances providing detailed
+information about the fetch results
+- Note
+- As fetch does not provide progress information to non-ttys, we cannot make
+it available here unfortunately as in the ‘push’ method.
+
+
+
+
+-
+classmethod iter_items(repo)
+
+- Returns
+- Iterator yielding Remote objects of the given repository
+
+
+
+
+-
+name
+
+
+
+-
+pull(refspec=None, progress=None, **kwargs)
+Pull changes from the given branch, being the same as a fetch followed
+by a merge of branch with your local branch.
+
+- refspec
+- see ‘fetch’ method
+- progress
+- see ‘push’ method
+- **kwargs
+- Additional arguments to be passed to git-pull
+- Returns
+- Please see ‘fetch’ method
+
+
+
+
+-
+push(refspec=None, progress=None, **kwargs)
+Push changes from source branch in refspec to target branch in refspec.
+
+- refspec
+- see ‘fetch’ method
+- progress
+- Instance of type RemoteProgress allowing the caller to receive
+progress information until the method returns.
+If None, progress information will be discarded
+- **kwargs
+- Additional arguments to be passed to git-push
+- Returns
+- 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.
+
+
+
+
+-
+refs
+
+- Returns
+IterableList of RemoteReference objects. It is prefixed, allowing
+you to omit the remote path portion, i.e.:
+remote.refs.master # yields RemoteReference('/refs/remotes/origin/master')
+
+
+
+
+
+
+
+-
+classmethod remove(repo, name)
+- Remove the remote with the given name
+
+
+-
+rename(new_name)
+Rename self to the given new_name
+
+- Returns
+- self
+
+
+
+
+-
+repo
+
+
+
+-
+classmethod rm(repo, name)
+- Remove the remote with the given name
+
+
+-
+stale_refs
+
+- Returns
+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.
+The IterableList is prefixed, hence the ‘origin’ must be omitted. See
+‘refs’ property for an example.
+
+
+
+
+
+-
+update(**kwargs)
+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 ).
+
+- kwargs
+- Additional arguments passed to git-remote update
+- Returns
+- self
+
+
+
+
+
+
+-
+class git.remote.RemoteProgress
+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.
+
+-
+line_dropped(line)
+- Called whenever a line could not be understood and was therefore dropped.
+
+
+-
+update(op_code, cur_count, max_count=None, message='')
+Called whenever the progress changes
+
+- op_code
+Integer allowing to be compared against Operation IDs and stage IDs.
+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
+Operation IDs are all held within the OP_MASK. Only one Operation ID will
+be active per call.
+
+- cur_count
+- Current absolute count of items
+- max_count
+- 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.
+- message
+- In case of the ‘WRITING’ operation, it contains the amount of bytes
+transferred. It may possibly be used for other purposes as well.
+
+You may read the contents of the current line in self._cur_line
+
+
+
+
+
+
+
Repo
+
+-
+class git.repo.Repo(path=None)
+Represents a git repository and allows you to query references,
+gather commit information, generate diffs, create and clone repositories query
+the log.
+The following attributes are worth using:
+‘working_dir’ 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
+‘working_tree_dir’ is the working tree directory, but will raise AssertionError
+if we are a bare repository.
+‘git_dir’ is the .git repository directoy, which is always set.
+
+-
+active_branch
+The name of the currently active branch.
+
+- Returns
+- Head to the active branch
+
+
+
+
+-
+alternates
+- Retrieve a list of alternates paths or set a list paths to be used as alternates
+
+
+-
+archive(ostream, treeish=None, prefix=None, **kwargs)
+Archive the tree at the given revision.
+ostream
+
+file compatible stream object to which the archive will be written
+
+- treeish
+- is the treeish name/id, defaults to active branch
+- prefix
+- is the optional prefix to prepend to each filename in the archive
+- kwargs
+- Additional arguments passed to git-archive
+NOTE: Use the ‘format’ argument to define the kind of format. Use
+specialized ostreams to write any format supported by python
+
+Examples:
+>>> repo.archive(open("archive"))
+<String containing tar.gz archive>
+
+
+
+- Raise
+- GitCommandError in case something went wrong
+- Returns
+- self
+
+
+
+
+-
+bare
+
+- Returns
+- True if the repository is bare
+
+
+
+
+-
+blame(rev, file)
+The blame information for the given file at the given revision.
+
+- rev
+- revision specifier, see git-rev-parse for viable options.
+- Returns
+- list: [git.Commit, list: [<line>]]
+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.
+
+
+
+
+-
+branches
+A list of Head objects representing the branch heads in
+this repo
+
+- Returns
+- git.IterableList(Head, ...)
+
+
+
+
+-
+clone(path, **kwargs)
+Create a clone from this repository.
+
+- path
+- is the full path of the new repo (traditionally ends with ./<name>.git).
+- kwargs
+- keyword arguments to be given to the git-clone command
+- Returns
+- git.Repo (the newly cloned repo)
+
+
+
+
+-
+commit(rev=None)
+The Commit object for the specified revision
+
+- rev
+- revision specifier, see git-rev-parse for viable options.
+- Returns
+- git.Commit
+
+
+
+
+-
+config_reader(config_level=None)
+
+- Returns
+GitConfigParser allowing to read the full git configuration, but not to write it
+The configuration will include values from the system, user and repository
+configuration files.
+NOTE: On windows, system configuration cannot currently be read as the path is
+unknown, instead the global path will be used.
+
+- config_level
+- 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
+
+
+
+
+-
+config_writer(config_level='repository')
+
+- Returns
+- 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’s
+to write it.
+- config_level
+- One of the following values
+system = sytem wide configuration file
+global = user level configuration file
+repository = configuration file for this repostory only
+
+
+
+
+-
+create_head(path, commit='HEAD', force=False, **kwargs)
+Create a new head within the repository.
+For more documentation, please see the Head.create method.
+
+- Returns
+- newly created Head Reference
+
+
+
+
+-
+create_remote(name, url, **kwargs)
+Create a new remote.
+For more information, please see the documentation of the Remote.create
+methods
+
+- Returns
+- Remote reference
+
+
+
+
+-
+create_tag(path, ref='HEAD', message=None, force=False, **kwargs)
+Create a new tag reference.
+For more documentation, please see the TagReference.create method.
+
+- Returns
+- TagReference object
+
+
+
+
+-
+daemon_export
+- If True, git-daemon may export this repository
+
+
+-
+delete_head(*heads, **kwargs)
+Delete the given heads
+
+- kwargs
+- Additional keyword arguments to be passed to git-branch
+
+
+
+
+-
+delete_remote(remote)
+- Delete the given remote.
+
+
+-
+delete_tag(*tags)
+- Delete the given tag references
+
+
+-
+description
+- the project’s description
+
+
+-
+git
+
+
+
+-
+git_dir
+
+
+
+-
+head
+
+- Return
+- HEAD Object pointing to the current head reference
+
+
+
+
+-
+heads
+A list of Head objects representing the branch heads in
+this repo
+
+- Returns
+- git.IterableList(Head, ...)
+
+
+
+
+-
+index
+
+- Returns
+- IndexFile representing this repository’s index.
+
+
+
+
+-
+classmethod init(path=None, mkdir=True, **kwargs)
+Initialize a git repository at the given path if specified
+
+- path
+- is the full path to the repo (traditionally ends with /<name>.git)
+or None in which case the repository will be created in the current
+working directory
+- mkdir
+- if specified will create the repository directory if it doesn’t
+already exists. Creates the directory with a mode=0755.
+Only effective if a path is explicitly given
+- kwargs
+- keyword arguments serving as additional options to the git-init command
+
+Examples:
+git.Repo.init('/var/git/myrepo.git',bare=True)
+
+
+
+- Returns
+- git.Repo (the newly created repo)
+
+
+
+
+-
+is_dirty(index=True, working_tree=True, untracked_files=False)
+
+- Returns
+- True, 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.
+
+
+
+
+-
+iter_commits(rev=None, paths='', **kwargs)
+A list of Commit objects representing the history of a given ref/commit
+
+- rev
+
+revision specifier, see git-rev-parse for viable options.
+If None, the active branch will be used.
+
+- paths
+- 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.
+- kwargs
+- Arguments to be passed to git-rev-list - common ones are
+max_count and skip
+
+
+
+Note: to receive only commits between two named revisions, use the
+“revA..revB” revision specifier
+
+- Returns
+- git.Commit[]
+
+
+
+
+-
+iter_trees(*args, **kwargs)
+
+- Returns
+- Iterator yielding Tree objects
+
+Note: Takes all arguments known to iter_commits method
+
+
+
+-
+references
+A list of Reference objects representing tags, heads and remote references.
+
+- Returns
+- IterableList(Reference, ...)
+
+
+
+
+-
+refs
+A list of Reference objects representing tags, heads and remote references.
+
+- Returns
+- IterableList(Reference, ...)
+
+
+
+
+-
+remote(name='origin')
+
+- Return
+- Remote with the specified name
+- Raise
+- ValueError if no remote with such a name exists
+
+
+
+
+-
+remotes
+A list of Remote objects allowing to access and manipulate remotes
+
+- Returns
+- git.IterableList(Remote, ...)
+
+
+
+
+-
+tag(path)
+
+- Return
+- TagReference Object, reference pointing to a Commit or Tag
+- path
+- path to the tag reference, i.e. 0.1.5 or tags/0.1.5
+
+
+
+
+-
+tags
+A list of Tag objects that are available in this repo
+
+- Returns
+- git.IterableList(TagReference, ...)
+
+
+
+
+-
+tree(rev=None)
+The Tree object for the given treeish revision
+
+- rev
+- is a revision pointing to a Treeish ( being a commit or tree )
+
+Examples:
+repo.tree(repo.heads[0])
+
+
+
+- Returns
+- git.Tree
+- NOTE
+- 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.
+
+
+
+
+-
+untracked_files
+
+- Returns
+list(str,...)
+Files currently untracked as they have not been staged yet. Paths
+are relative to the current working directory of the git command.
+
+- Note
+- ignored files will not appear here, i.e. files mentioned in .gitignore
+
+
+
+
+-
+working_dir
+
+
+
+-
+working_tree_dir
+
+- Returns
+- The working tree directory of our git repository
+- Raises AssertionError
+- If we are a bare repository
+
+
+
+
+
+
+-
+git.repo.is_git_dir(d)
+- This is taken from the git setup.c:is_git_directory
+function.
+
+
+-
+git.repo.touch(filename)
+
+
+
+
+
Stats
+
+-
+class git.stats.Stats(total, files)
+Represents stat information as presented by git at the end of a merge. It is
+created from the output of a diff operation.
+Example:
+c = Commit( sha1 )
+s = c.stats
+s.total # full-stat-dict
+s.files # dict( filepath : stat-dict )
+
+
+stat-dict
+A dictionary with the following keys and values:
+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
+
+full-stat-dict
+In addition to the items in the stat-dict, it features additional information:
+files = number of changed files as int
+
+
+-
+files
+
+
+
+-
+total
+
+
+
+
+
+
+
Utils
+
+-
+class git.utils.BlockingLockFile(file_path, check_interval_s=0.29999999999999999, max_block_time_s=9223372036854775807)
+- The lock file will block until a lock could be obtained, or fail after
+a specified timeout
+
+
+-
+class git.utils.ConcurrentWriteOperation(file_path)
+This class facilitates a safe write operation to a file on disk such that we:
+
+
+- lock the original file
+- write to a temporary file
+- rename temporary file back to the original one on close
+- unlock the original file
+
+
+This type handles error correctly in that it will assure a consistent state
+on destruction
+
+
+
+-
+class git.utils.Iterable
+Defines an interface for iterable items which is to assure a uniform
+way to retrieve and iterate items within the git repository
+
+-
+classmethod iter_items(repo, *args, **kwargs)
+For more information about the arguments, see list_items
+Return:
+
+iterator yielding Items
+
+
+
+-
+classmethod list_items(repo, *args, **kwargs)
+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.
+Note: Favor the iter_items method as it will
+
+- Returns:
+- list(Item,...) list of item instances
+
+
+
+
+
+
+-
+class git.utils.IterableList(id_attr, prefix='')
+List of iterable objects allowing to query an object by id or by named index:
+heads = repo.heads
+heads.master
+heads['master']
+heads[0]
+
+
+It requires an id_attribute name to be set which will be queried from its
+contained items to have a means for comparison.
+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.
+
+
+
+-
+class git.utils.LazyMixin
+- 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’s dict or slot.
+
+
+-
+class git.utils.LockFile(file_path)
+Provides methods to obtain, check for, and release a file based lock which
+should be used to handle concurrent access to the same file.
+As we are a utility class to be derived from, we only use protected methods.
+Locks will automatically be released on destruction
+
+
+
+-
+class git.utils.SHA1Writer(f)
+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.
+
+- Note:
+- Based on the dulwich project
+
+
+-
+close()
+
+
+
+-
+f
+
+
+
+-
+sha1
+
+
+
+-
+tell()
+
+
+
+-
+write(data)
+
+
+
+-
+write_sha()
+
+
+
+
+
+-
+git.utils.join_path(a, *p)
+- Join path tokens together similar to os.path.join, but always use
+‘/’ instead of possibly ‘’ on windows.
+
+
+-
+git.utils.join_path_native(a, *p)
+- 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 ‘’
+
+
+-
+git.utils.make_sha(source='')
+A python2.4 workaround for the sha/hashlib module fiasco
+
+- Note
+- From the dulwich project
+
+
+
+
+-
+git.utils.to_native_path(path)
+
+
+
+-
+git.utils.to_native_path_linux(path)
+
+
+
+-
+git.utils.to_native_path_windows(path)
+
+
@@ -109,23 +2818,23 @@
@@ -164,6 +2873,9 @@
-
index
+ -
+ modules |
-
next |
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
@@ -29,6 +29,9 @@
-
index
+ -
+ modules |
-
previous |
@@ -83,6 +86,9 @@
-
index
+ -
+ modules |
-
previous |
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 @@
-
index
+ -
+ modules |
- GitPython v0.2.0 Beta documentation »
@@ -77,6 +80,9 @@
index
+
+ modules |
GitPython v0.2.0 Beta documentation »
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
@@ -30,6 +30,9 @@
index
+
+ modules |
next |
@@ -437,6 +440,9 @@ The special notion
git.command(fl
index
+
+ modules |
next |
--
cgit v1.2.3