RefsContainer backed by a simple dict.

This container does not support symbolic or packed references and is not threadsafe.

Method __init__ Undocumented
Method allkeys All refs present in this container.
Method read_loose_ref Read a loose reference and return its contents.
Method get_packed_refs Get contents of the packed-refs file.
Method set_symbolic_ref Make a ref point at another ref.
Method set_if_equals Set a refname to new_ref only if it currently equals old_ref.
Method add_if_new Add a new reference only if it does not already exist.
Method remove_if_equals Remove a refname only if it currently equals old_ref.
Method get_peeled Return the cached peeled value of a ref, if available.
Method _update Update multiple refs; intended only for testing.
Method _update_peeled Update cached peeled refs; intended only for testing.

Inherited from RefsContainer:

Method import_refs Undocumented
Method keys Refs present in this container.
Method subkeys Refs present in this container under a base.
Method as_dict Return the contents of this container as a dictionary.
Method read_ref Read a reference without following any references.
Method follow Follow a reference name.
Method __contains__ Undocumented
Method __getitem__ Get the SHA1 for a reference name.
Method __setitem__ Set a reference name to point to the given SHA1.
Method __delitem__ Remove a refname.
Method get_symrefs Get a dict with all symrefs in this container.
Method _log Undocumented
Method _check_refname Ensure a refname is valid and lives in refs or is HEAD.
Method _follow Undocumented
def __init__(self, refs, logger=None):
Undocumented
def allkeys(self):
All refs present in this container.
def read_loose_ref(self, name):
Read a loose reference and return its contents.
Parametersnamethe refname to read
ReturnsThe contents of the ref file, or None if it does not exist.
def get_packed_refs(self):
Get contents of the packed-refs file.
ReturnsDictionary mapping ref names to SHA1s
NoteWill return an empty dictionary when no packed-refs file is present.
def set_symbolic_ref(self, name, other, committer=None, timestamp=None, timezone=None, message=None):
Make a ref point at another ref.
ParametersnameName of the ref to set
otherName of the ref to point at
messageOptional message
def set_if_equals(self, name, old_ref, new_ref, committer=None, timestamp=None, timezone=None, message=None):

Set a refname to new_ref only if it currently equals old_ref.

This method follows all symbolic references if applicable for the subclass, and can be used to perform an atomic compare-and-swap operation.

ParametersnameThe refname to set.
old_refThe old sha the refname must refer to, or None to set unconditionally.
new_refThe new sha the refname will refer to.
messageMessage for reflog
ReturnsTrue if the set was successful, False otherwise.
def add_if_new(self, name, ref, committer=None, timestamp=None, timezone=None, message=None):
Add a new reference only if it does not already exist.
ParametersnameRef name
refRef value
messageMessage for reflog
def remove_if_equals(self, name, old_ref, committer=None, timestamp=None, timezone=None, message=None):

Remove a refname only if it currently equals old_ref.

This method does not follow symbolic references, even if applicable for the subclass. It can be used to perform an atomic compare-and-delete operation.

ParametersnameThe refname to delete.
old_refThe old sha the refname must refer to, or None to delete unconditionally.
messageMessage for reflog
ReturnsTrue if the delete was successful, False otherwise.
def get_peeled(self, name):
Return the cached peeled value of a ref, if available.
ParametersnameName of the ref to peel
ReturnsThe peeled value of the ref. If the ref is known not point to a tag, this will be the SHA the ref refers to. If the ref may point to a tag, but no cached information is available, None is returned.
def _update(self, refs):
Update multiple refs; intended only for testing.
def _update_peeled(self, peeled):
Update cached peeled refs; intended only for testing.
API Documentation for Dulwich, generated by pydoctor at 2018-11-17 19:05:54.