pub struct RefEntry {
pub target: CommitHash,
pub update_seq: u64,
pub updater: PublicKey,
pub auth_epoch: u64,
pub signature: Signature,
}Expand description
One ref pointer. Phase 1.0 only accepts entries where
updater == parameters.owner.
Fields§
§target: CommitHashObject SHA the ref points at.
For branch refs (refs/heads/*) and lightweight tag refs
this is a commit SHA. For annotated tag refs
(refs/tags/* created with git tag -a) this is the
tag-object SHA — git rev-parse refs/tags/<name> for an
annotated tag returns the tag object, not the commit it
points at, and that is what gets stored here.
The CommitHash type name is a Phase 1.0 misnomer kept for
wire-format stability. Treat this field as an opaque
20-byte object SHA; downstream code peels through tag
objects via git rev-parse <sha>^{commit} on demand
(walk_unresolved_parents in git-remote-freenet).
update_seq: u64Strictly-monotonic counter for this ref.
updater: PublicKeyPublic key that signed this entry. In Phase 1.0 must equal
parameters.owner.
auth_epoch: u64ACL epoch at which this update was signed. Phase 1.0 always uses
0 (no ACL changes).
signature: SignatureSignature by updater over the canonical ref-update payload.