Structs§
- Applied
Bundle RefUpdate - Branch
Create - Branch
Delete - Branch
RefName - Branch
RefName Buf - Bundle
RefUpdate - Bundle
RefUpdate Reflog - Delete
Ref - Delete
RefReflog - File
RefStore - File
RefTransaction - Full
RefName - Full
RefName Buf - Packed
Ref - Ref
- RefDelete
- RefStore
- RefTransaction
- RefTransaction
Hook Update - One queued ref change as the
reference-transactionhook sees it: the<old-value> SP <new-value> SP <refname>triple git writes to the hook’s stdin (refs.c:transaction_hook_feed_stdin).old_value/new_valueare already rendered the way git renders them — a 40/64-hex OID, the stringref:<target>for a symref, or the all-zeros OID when the side is absent. - RefUpdate
- Reflog
Entry - Remote
RefName - Remote
RefName Buf - TagCreate
- TagDelete
- TagRef
Name - TagRef
Name Buf
Enums§
- Pack
RefDecision - RefDelete
Error - RefDelete
Precondition - The compare-and-delete precondition checked for a queued ref delete.
- RefPrecondition
- The compare-and-swap precondition a ref update is checked against (re-verified while the ref is locked, so it is a true CAS, not a check-then-write).
- RefTarget
- RefTransaction
Phase - The phase a
ReferenceTransactionHookis invoked for, mirroring thestateargument git passes to thereference-transactionhook (refs.c:run_transaction_hook).
Traits§
- Reference
Transaction Hook - A handler the file backend invokes at each phase of a ref transaction so the
CLI layer can run the project’s
reference-transactionhook. Implemented insley-cli; the backend stays oblivious to how (or whether) a hook script is found and executed.
Functions§
- branch_
ref_ name - branch_
ref_ name_ for_ read - branch_
ref_ name_ for_ source - check_
refname_ format - Validate a ref name using git’s
check_refname_formatrules. - expire_
reflog - Expire reflog entries, mirroring
git reflog expiresemantics. - parse_
loose_ ref - parse_
packed_ refs - parse_
reflog - refname_
is_ safe - git’s
refname_is_safe(refs.c): the gate applied when deleting a ref (transaction_refname_validwith a null new-oid). It is stricter than the create-timecheck_refname_format(_, REFNAME_ALLOW_ONELEVEL): - resolve_
ref_ peeled - tag_
ref_ name - validate_
ref_ name - validate_
ref_ name_ for_ read - validate_
ref_ name_ for_ update - validate_
symref_ name - Validate a symbolic ref name (HEAD, one-level pseudo-refs, or
refs/...). - validate_
symref_ target - Validate a symbolic ref target (one-level pseudo-refs or
refs/...). - write_
loose_ ref - write_
packed_ refs