Documentation ¶
Index ¶
- func ArchiveRepository(ctx context.Context, request *ArchiveRequest) (*repo_model.RepoArchiver, error)
- func DeleteOldRepositoryArchives(ctx context.Context, olderThan time.Duration) error
- func DeleteRepositoryArchives(ctx context.Context) error
- func Init(ctx context.Context) error
- func StartArchive(request *ArchiveRequest) error
- type ArchiveRequest
- type ErrUnknownArchiveFormat
- type RepoRefNotFoundError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ArchiveRepository ¶
func ArchiveRepository(ctx context.Context, 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 ¶
DeleteOldRepositoryArchives deletes old repository archives.
func DeleteRepositoryArchives ¶
DeleteRepositoryArchives deletes all repositories' archives.
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
func (aReq *ArchiveRequest) Await(ctx context.Context) (*repo_model.RepoArchiver, error)
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 ¶
func (ErrUnknownArchiveFormat) Is(err error) bool
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