gitdata

package
v1.2.171 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeepGitWorkTreeCacheVersionV1_1 = "6"
	KeepGitRepoCacheVersionV1_1     = "3"
)
View Source
const (
	GitArchivesCacheVersion = "7"
	GitPatchesCacheVersion  = "6"
)

Variables

This section is empty.

Functions

func RemovePathWithEmptyParentDirsInsideScope

func RemovePathWithEmptyParentDirsInsideScope(scopeDir, path string) error

func RunGC

func RunGC(ctx context.Context, allowedVolumeUsagePercentage, allowedVolumeUsageMarginPercentage float64) error

func ShouldPreserveGitDataEntryByLru added in v1.2.28

func ShouldPreserveGitDataEntryByLru(entry GitDataEntry) bool

func ShouldRunAutoGC

func ShouldRunAutoGC(ctx context.Context, allowedVolumeUsagePercentage float64) (bool, error)

Types

type ArchiveMetadata

type ArchiveMetadata struct {
	LastAccessTimestamp int64
}

type GitArchiveDesc

type GitArchiveDesc struct {
	MetadataPath  string
	ArchivePath   string
	Metadata      *ArchiveMetadata
	Size          uint64
	CacheBasePath string
}

func GetExistingGitArchives

func GetExistingGitArchives(cacheVersionRoot string) ([]*GitArchiveDesc, error)

func (*GitArchiveDesc) GetCacheBasePath added in v1.2.141

func (entry *GitArchiveDesc) GetCacheBasePath() string

func (*GitArchiveDesc) GetLastAccessAt

func (entry *GitArchiveDesc) GetLastAccessAt() time.Time

func (*GitArchiveDesc) GetPaths

func (entry *GitArchiveDesc) GetPaths() []string

func (*GitArchiveDesc) GetSize

func (entry *GitArchiveDesc) GetSize() uint64

type GitDataEntry

type GitDataEntry interface {
	GetPaths() []string
	GetSize() uint64
	GetLastAccessAt() time.Time
	GetCacheBasePath() string
}

func PreserveGitDataByLru added in v1.2.28

func PreserveGitDataByLru(entries []GitDataEntry) []GitDataEntry

type GitDataLruSort

type GitDataLruSort []GitDataEntry

func (GitDataLruSort) Len

func (a GitDataLruSort) Len() int

func (GitDataLruSort) Less

func (a GitDataLruSort) Less(i, j int) bool

func (GitDataLruSort) Swap

func (a GitDataLruSort) Swap(i, j int)

type GitDataManager

type GitDataManager struct {
	ArchivesCacheDir string
	PatchesCacheDir  string
	TmpDir           string
}

func GetHostGitDataManager

func GetHostGitDataManager(ctx context.Context) (*GitDataManager, error)

func NewGitDataManager

func NewGitDataManager(archivesCacheDir, patchesCacheDir, tmpDir string) *GitDataManager

func (*GitDataManager) CreateArchiveFile

func (manager *GitDataManager) CreateArchiveFile(ctx context.Context, repoID string, opts git_repo.ArchiveOptions, tmpPath string) (*git_repo.ArchiveFile, error)

func (*GitDataManager) CreatePatchFile

func (manager *GitDataManager) CreatePatchFile(ctx context.Context, repoID string, opts git_repo.PatchOptions, tmpPath string, desc *true_git.PatchDescriptor) (*git_repo.PatchFile, error)

func (*GitDataManager) GetArchiveFile

func (manager *GitDataManager) GetArchiveFile(ctx context.Context, repoID string, opts git_repo.ArchiveOptions) (*git_repo.ArchiveFile, error)

func (*GitDataManager) GetArchivesCacheDir

func (manager *GitDataManager) GetArchivesCacheDir() string

func (*GitDataManager) GetPatchFile

func (manager *GitDataManager) GetPatchFile(ctx context.Context, repoID string, opts git_repo.PatchOptions) (*git_repo.PatchFile, error)

func (*GitDataManager) GetPatchesCacheDir

func (manager *GitDataManager) GetPatchesCacheDir() string

func (*GitDataManager) LockGC

func (manager *GitDataManager) LockGC(ctx context.Context, shared bool) (lockgate.LockHandle, error)

func (*GitDataManager) NewTmpFile

func (manager *GitDataManager) NewTmpFile() (string, error)

type GitPatchDesc

type GitPatchDesc struct {
	MetadataPath  string
	PatchPath     string
	Metadata      *PatchMetadata
	Size          uint64
	CacheBasePath string
}

func GetExistingGitPatches

func GetExistingGitPatches(cacheVersionRoot string) ([]*GitPatchDesc, error)

func (*GitPatchDesc) GetCacheBasePath added in v1.2.141

func (entry *GitPatchDesc) GetCacheBasePath() string

func (*GitPatchDesc) GetLastAccessAt

func (entry *GitPatchDesc) GetLastAccessAt() time.Time

func (*GitPatchDesc) GetPaths

func (entry *GitPatchDesc) GetPaths() []string

func (*GitPatchDesc) GetSize

func (entry *GitPatchDesc) GetSize() uint64

type GitRepoDesc

type GitRepoDesc struct {
	Path          string
	LastAccessAt  time.Time
	Size          uint64
	CacheBasePath string
}

func GetExistingGitRepos

func GetExistingGitRepos(cacheVersionRoot string) ([]*GitRepoDesc, error)

func (*GitRepoDesc) GetCacheBasePath added in v1.2.141

func (entry *GitRepoDesc) GetCacheBasePath() string

func (*GitRepoDesc) GetLastAccessAt

func (entry *GitRepoDesc) GetLastAccessAt() time.Time

func (*GitRepoDesc) GetPaths

func (entry *GitRepoDesc) GetPaths() []string

func (*GitRepoDesc) GetSize

func (entry *GitRepoDesc) GetSize() uint64

type GitWorktreeDesc

type GitWorktreeDesc struct {
	Path          string
	LastAccessAt  time.Time
	Size          uint64
	CacheBasePath string
}

func GetExistingGitWorktrees

func GetExistingGitWorktrees(cacheVersionRoot string) ([]*GitWorktreeDesc, error)

func (*GitWorktreeDesc) GetCacheBasePath added in v1.2.141

func (entry *GitWorktreeDesc) GetCacheBasePath() string

func (*GitWorktreeDesc) GetLastAccessAt

func (entry *GitWorktreeDesc) GetLastAccessAt() time.Time

func (*GitWorktreeDesc) GetPaths

func (entry *GitWorktreeDesc) GetPaths() []string

func (*GitWorktreeDesc) GetSize

func (entry *GitWorktreeDesc) GetSize() uint64

type PatchMetadata

type PatchMetadata struct {
	Descriptor          *true_git.PatchDescriptor
	LastAccessTimestamp int64
}

Jump to

Keyboard shortcuts

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