Part of dulwich.repo View In Hierarchy
Known subclasses: dulwich.repo.DictRefsContainer, dulwich.repo.DiskRefsContainer, dulwich.repo.InfoRefsContainer
Method | set_ref | Undocumented |
Method | set_symbolic_ref | Make a ref point at another ref. |
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 | import_refs | Undocumented |
Method | allkeys | All refs present in this container. |
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 | read_loose_ref | Read a loose reference and return its contents. |
Method | __contains__ | Undocumented |
Method | __getitem__ | Get the SHA1 for a reference name. |
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 | __setitem__ | Set a reference name to point to the given SHA1. |
Method | remove_if_equals | Remove a refname only if it currently equals old_ref. |
Method | __delitem__ | Remove a refname. |
Method | _check_refname | Ensure a refname is valid and lives in refs or is HEAD. |
Method | _follow | Follow a reference name. |
Parameters | name | Name of the ref to set |
other | Name of the ref to point at |
Returns | Dictionary mapping ref names to SHA1s | |
Note | Will return an empty dictionary when no packed-refs file is present. |
Parameters | name | Name of the ref to peel |
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 | base | An optional base to return refs under. |
Returns | An unsorted set of valid refs in this container, including packed refs. |
Parameters | base | The base to return refs under. |
Returns | A set of valid refs in this container under the base; the base prefix is stripped from the ref names returned. |
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 | name | The name of the reference. |
Raises | KeyError | if a refname is not HEAD or is otherwise not valid. |
Parameters | refname | The name of the reference |
Returns | The contents of the ref file, or None if it does not exist. |
Parameters | name | the refname to read |
Returns | The contents of the ref file, or None if it does not exist. |
Returns | a tuple of (refname, sha), where refname is the name of the last reference in the symbolic reference chain |
Get the SHA1 for a reference name.
This method follows all symbolic references.
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.
Parameters | name | The refname to set. |
old_ref | The old sha the refname must refer to, or None to set unconditionally. | |
new_ref | The new sha the refname will refer to. | |
Returns | True if the set was successful, False otherwise. |
Set a reference name to point to the given SHA1.
This method follows all symbolic references if applicable for the subclass.
Parameters | name | The refname to set. |
ref | The new sha the refname will refer to. | |
Note | This method unconditionally overwrites the contents of a reference. To update atomically only if the reference has not changed, use set_if_equals(). |
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.
Parameters | name | The refname to delete. |
old_ref | The old sha the refname must refer to, or None to delete unconditionally. | |
Returns | True if the delete was successful, False otherwise. |
Remove a refname.
This method does not follow symbolic references, even if applicable for the subclass.
Parameters | name | The refname to delete. |
Note | This method unconditionally deletes the contents of a reference. To delete atomically only if the reference has not changed, use remove_if_equals(). |