class documentation

A container for refs.

Method __contains__ Undocumented
Method __delitem__ Remove a refname.
Method __getitem__ Get the SHA1 for a reference name.
Method __init__ Undocumented
Method __iter__ Undocumented
Method __setitem__ Set a reference name to point to the given SHA1.
Method add_if_new Add a new reference only if it does not already exist.
Method allkeys All refs present in this container.
Method as_dict Return the contents of this container as a dictionary.
Method follow Follow a reference name.
Method get_packed_refs Get contents of the packed-refs file.
Method get_peeled Return the cached peeled value of a ref, if available.
Method get_symrefs Get a dict with all symrefs in this container.
Method import_refs Undocumented
Method keys Refs present in this container.
Method read_loose_ref Read a loose reference and return its contents.
Method read_ref Read a reference without following any references.
Method remove_if_equals Remove a refname only if it currently equals old_ref.
Method set_if_equals Set a refname to new_ref only if it currently equals old_ref.
Method set_symbolic_ref Make a ref point at another ref.
Method subkeys Refs present in this container under a base.
Method _check_refname Ensure a refname is valid and lives in refs or is HEAD.
Method _log Undocumented
Instance Variable _logger Undocumented
def __contains__(self, refname):

Undocumented

def __delitem__(self, name):

Remove a refname.

This method does not follow symbolic references, even if applicable for the subclass.

Note: This method unconditionally deletes the contents of a reference.
To delete atomically only if the reference has not changed, use remove_if_equals().
Parameters
nameThe refname to delete.
def __getitem__(self, name):

Get the SHA1 for a reference name.

This method follows all symbolic references.

def __iter__(self):

Undocumented

def __setitem__(self, name, ref):

Set a reference name to point to the given SHA1.

This method follows all symbolic references if applicable for the subclass.

Note: This method unconditionally overwrites the contents of a
reference. To update atomically only if the reference has not changed, use set_if_equals().
Parameters
nameThe refname to set.
refThe new sha the refname will refer to.
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.

Parameters
nameRef name
refRef value
committerUndocumented
timestampUndocumented
timezoneUndocumented
messageUndocumented
def allkeys(self):
def as_dict(self, base=None):

Return the contents of this container as a dictionary.

def follow(self, name):

Follow a reference name.

Returns: a tuple of (refnames, sha), wheres refnames are the names of
references in the chain
def get_packed_refs(self):

Get contents of the packed-refs file.

Returns: Dictionary mapping ref names to SHA1s

Note: Will return an empty dictionary when no packed-refs file is
present.
def get_peeled(self, name):

Return the cached peeled value of a ref, if available.

Returns: The 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.
Parameters
nameName of the ref to peel
def get_symrefs(self):

Get a dict with all symrefs in this container.

Returns: Dictionary mapping source ref to target ref

def import_refs(self, base, other, committer=None, timestamp=None, timezone=None, message=None, prune=False):

Undocumented

Parameters
base:RefUndocumented
other:Dict[Ref, ObjectID]Undocumented
committer:Optional[bytes]Undocumented
timestamp:Optional[bytes]Undocumented
timezone:Optional[bytes]Undocumented
message:Optional[bytes]Undocumented
prune:boolUndocumented
def keys(self, base=None):

Refs present in this container.

Returns: An unsorted set of valid refs in this container, including
packed refs.
Parameters
baseAn optional base to return refs under.
def read_loose_ref(self, name):

Read a loose reference and return its contents.

Returns: The contents of the ref file, or None if it does
not exist.
Parameters
namethe refname to read
def read_ref(self, refname):

Read a reference without following any references.

Returns: The contents of the ref file, or None if it does
not exist.
Parameters
refnameThe name of the reference
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.

Returns: True if the delete was successful, False otherwise.

Parameters
nameThe refname to delete.
old_refThe old sha the refname must refer to, or None to delete unconditionally.
committerUndocumented
timestampUndocumented
timezoneUndocumented
messageMessage for reflog
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.

Returns: True if the set was successful, False otherwise.

Parameters
nameThe 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.
committerUndocumented
timestampUndocumented
timezoneUndocumented
messageMessage for reflog
def set_symbolic_ref(self, name, other, committer=None, timestamp=None, timezone=None, message=None):

Make a ref point at another ref.

Parameters
nameName of the ref to set
otherName of the ref to point at
committerUndocumented
timestampUndocumented
timezoneUndocumented
messageOptional message
def subkeys(self, base):

Refs present in this container under a base.

Returns: A set of valid refs in this container under the base; the base
prefix is stripped from the ref names returned.
Parameters
baseThe base to return refs under.
def _check_refname(self, name):

Ensure a refname is valid and lives in refs or is HEAD.

HEAD is not a valid refname according to git-check-ref-format, but this class needs to be able to touch HEAD. Also, check_ref_format expects refnames without the leading 'refs/', but this class requires that so it cannot touch anything outside the refs dir (or HEAD).

Parameters
nameThe name of the reference.
Raises
KeyErrorif a refname is not HEAD or is otherwise not valid.
def _log(self, ref, old_sha, new_sha, committer=None, timestamp=None, timezone=None, message=None):

Undocumented

_logger =

Undocumented