archiver

package
v1.19.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2023 License: MIT Imports: 17 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ArchiveRepository

func ArchiveRepository(request *ArchiveRequest) (*repo_model.RepoArchiver, error)

ArchiveRepository satisfies the ArchiveRequest being passed in. Processing will occur in a separate goroutine, as this phase may take a while to complete. If the archive already exists, ArchiveRepository will not do anything. In all cases, the caller should be examining the *ArchiveRequest being returned for completion, as it may be different than the one they passed in.

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() error

Init initlize archive

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, uri string) (*ArchiveRequest, error)

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

func (*ArchiveRequest) Await added in v1.17.2

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 added in v1.17.2

type RepoRefNotFoundError struct {
	RefName string
}

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

func (RepoRefNotFoundError) Error added in v1.17.2

func (e RepoRefNotFoundError) Error() string

Error implements error.

func (RepoRefNotFoundError) Is added in v1.17.2

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