package ingest import ( "errors" "fmt" "lindenii.org/go/furgit/object/id" ) // ErrMalformedPack reports that // the incoming pack stream is truncated, // inconsistent, or otherwise unparseable. var ErrMalformedPack = errors.New("object/store/packed/internal/ingest: malformed pack") // ErrThinPackNotPermitted reports that // the incoming pack is thin, // referencing bases not contained within it, // but no external base reader was supplied to complete it. var ErrThinPackNotPermitted = errors.New("object/store/packed/internal/ingest: thin pack not permitted: no thin base supplied") // ThinBasesMissingError reports that // an incoming thin pack references base objects // that the supplied thin base reader does not contain, // so the pack cannot be completed. type ThinBasesMissingError struct { // OIDs holds the missing base object IDs, sorted. OIDs []id.ObjectID } // Error implements error. func (e *ThinBasesMissingError) Error() string { return fmt.Sprintf( "object/store/packed/internal/ingest: thin pack references %d missing base objects", len(e.OIDs), ) }