shithub: furgit

ref: 0b2dcaabe23d45f6feb2273031854b14b512e3ff
dir: /network/protocol/v0v1/server/advertised_ref.go/

View raw version
package server

import objectid "codeberg.org/lindenii/furgit/object/id"

// 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
}