diff options
| author | 2026-03-07 14:24:05 +0800 | |
|---|---|---|
| committer | 2026-03-07 17:01:46 +0800 | |
| commit | 4b8d39764f9b54ea3090d0fea92a23025dbea30d (patch) | |
| tree | caa6e408c4ea625afcbb1b4aa4fb9e945f46994b /protocol/v0v1/server/advertised_ref.go | |
| parent | refstore: Split files (diff) | |
| signature | No signature | |
protocol: Add v0v1 server protocol and its receivepack subprotocol
Diffstat (limited to 'protocol/v0v1/server/advertised_ref.go')
| -rw-r--r-- | protocol/v0v1/server/advertised_ref.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/protocol/v0v1/server/advertised_ref.go b/protocol/v0v1/server/advertised_ref.go new file mode 100644 index 00000000..a203eb7a --- /dev/null +++ b/protocol/v0v1/server/advertised_ref.go @@ -0,0 +1,22 @@ +package server + +import "codeberg.org/lindenii/furgit/objectid" + +// AdvertisedRef is one ref entry in one v0/v1 server advertisement. +type AdvertisedRef struct { + // Name is the advertised reference name. It may be HEAD or one full + // reference name. + Name string + // ID is the object ID currently advertised for Name. + ID objectid.ObjectID + // Peeled is the peeled annotated-tag target when available. + // + // If set, advertisement writes one immediate "<name>^{}" line after the + // main entry, matching Git's advertisement rules. + Peeled *objectid.ObjectID +} + +// Advertisement is one server-side ref advertisement. +type Advertisement struct { + Refs []AdvertisedRef +} |
