archiver

package
v0.0.0-...-d5aab6d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteOldRepositoryArchives

func DeleteOldRepositoryArchives(ctx context.Context, olderThan time.Duration) error

DeleteOldRepositoryArchives deletes old repository archives.

func DeleteRepositoryArchives

func DeleteRepositoryArchives(ctx context.Context) error

DeleteRepositoryArchives deletes all repositories' archives.

func Init

func Init(ctx context.Context) error

Init initializes archiver

func ParseFileName

func ParseFileName(uri string) (ext string, tp git.ArchiveType, err error)

func StartArchive

func StartArchive(request *ArchiveRequest) error

StartArchive push the archive request to the queue

Types

type ArchiveRequest

type ArchiveRequest struct {
	RepoID int64

	Type     git.ArchiveType
	CommitID string
	// contains filtered or unexported fields
}

ArchiveRequest defines the parameters of an archive request, which notably includes the specific repository being archived as well as the commit, the name by which it was requested, and the kind of archive being requested. This is entirely opaque to external entities, though, and mostly used as a handle elsewhere.

func NewRequest

func NewRequest(repoID int64, repo *git.Repository, refName string, fileType git.ArchiveType) (*ArchiveRequest, error)

NewRequest creates an archival request, based on the URI. The resulting ArchiveRequest is suitable for being passed to Await() if it's determined that the request still needs to be satisfied.

func (*ArchiveRequest) Await

Await awaits the completion of an ArchiveRequest. If the archive has already been prepared the method returns immediately. Otherwise an archiver process will be started and its completion awaited. On success the returned RepoArchiver may be used to download the archive. Note that even if the context is cancelled/times out a started archiver will still continue to run in the background.

func (*ArchiveRequest) GetArchiveName

func (aReq *ArchiveRequest) GetArchiveName() string

GetArchiveName returns the name of the caller, based on the ref used by the caller to create this request.

type ErrUnknownArchiveFormat

type ErrUnknownArchiveFormat struct {
	RequestFormat string
}

ErrUnknownArchiveFormat request archive format is not supported

func (ErrUnknownArchiveFormat) Error

func (err ErrUnknownArchiveFormat) Error() string

Error implements error

func (ErrUnknownArchiveFormat) Is

Is implements error

type RepoRefNotFoundError

type RepoRefNotFoundError struct {
	RefName string
}

RepoRefNotFoundError is returned when a requested reference (commit, tag) was not found.

func (RepoRefNotFoundError) Error

func (e RepoRefNotFoundError) Error() string

Error implements error.

func (RepoRefNotFoundError) Is

func (e RepoRefNotFoundError) Is(err error) bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL