repository

package
v1.15.10 Latest Latest
Warning

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

Go to latest
Published: Jan 14, 2022 License: MIT Imports: 28 Imported by: 31

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdoptRepository added in v1.13.0

func AdoptRepository(doer, u *models.User, opts models.CreateRepoOptions) (*models.Repository, error)

AdoptRepository adopts a repository for the user/organization.

func CacheRef added in v1.13.0

func CacheRef(ctx context.Context, repo *models.Repository, gitRepo *git.Repository, fullRefName string) error

CacheRef cachhe last commit information of the branch or the tag

func CheckDelegateHooks added in v1.12.0

func CheckDelegateHooks(repoPath string) ([]string, error)

CheckDelegateHooks checks the hooks scripts for the repo

func CleanUpMigrateInfo

func CleanUpMigrateInfo(repo *models.Repository) (*models.Repository, error)

CleanUpMigrateInfo finishes migrating repository and/or wiki with things that don't need to be done for mirrors.

func ConvertForkToNormalRepository added in v1.15.3

func ConvertForkToNormalRepository(repo *models.Repository) error

ConvertForkToNormalRepository convert the provided repo from a forked repo to normal repo

func CreateDelegateHooks added in v1.12.0

func CreateDelegateHooks(repoPath string) error

CreateDelegateHooks creates all the hooks scripts for the repo

func CreateNewBranch added in v1.12.0

func CreateNewBranch(doer *models.User, repo *models.Repository, oldBranchName, branchName string) (err error)

CreateNewBranch creates a new repository branch

func CreateNewBranchFromCommit added in v1.12.0

func CreateNewBranchFromCommit(doer *models.User, repo *models.Repository, commit, branchName string) (err error)

CreateNewBranchFromCommit creates a new repository branch

func CreateRepository added in v1.12.0

func CreateRepository(doer, u *models.User, opts models.CreateRepoOptions) (*models.Repository, error)

CreateRepository creates a repository for the user/organization.

func DeleteMissingRepositories added in v1.12.0

func DeleteMissingRepositories(ctx context.Context, doer *models.User) error

DeleteMissingRepositories deletes all repository records that lost Git files.

func DeleteRepositoryArchives added in v1.15.0

func DeleteRepositoryArchives(ctx context.Context) error

DeleteRepositoryArchives deletes all repositories' archives.

func DeleteUnadoptedRepository added in v1.13.0

func DeleteUnadoptedRepository(doer, u *models.User, repoName string) error

DeleteUnadoptedRepository deletes unadopted repository files from the filesystem

func ForkRepository added in v1.12.0

func ForkRepository(doer, owner *models.User, oldRepo *models.Repository, name, desc string) (_ *models.Repository, err error)

ForkRepository forks a repository

func GenerateGitContent added in v1.12.0

func GenerateGitContent(ctx models.DBContext, templateRepo, generateRepo *models.Repository) error

GenerateGitContent generates git content from a template repository

func GenerateRepository added in v1.12.0

func GenerateRepository(ctx models.DBContext, doer, owner *models.User, templateRepo *models.Repository, opts models.GenerateRepoOptions) (_ *models.Repository, err error)

GenerateRepository generates a repository from a template

func GetBranch added in v1.12.0

func GetBranch(repo *models.Repository, branch string) (*git.Branch, error)

GetBranch returns a branch by its name

func GetBranches added in v1.12.0

func GetBranches(repo *models.Repository, skip, limit int) ([]*git.Branch, int, error)

GetBranches returns branches from the repository, skipping skip initial branches and returning at most limit branches, or all branches if limit is 0.

func GitFsck added in v1.12.0

func GitFsck(ctx context.Context, timeout time.Duration, args []string) error

GitFsck calls 'git fsck' to check repository health.

func GitGcRepos added in v1.12.0

func GitGcRepos(ctx context.Context, timeout time.Duration, args ...string) error

GitGcRepos calls 'git gc' to remove unnecessary files and optimize the local repository

func IsForcePush added in v1.14.0

func IsForcePush(opts *PushUpdateOptions) (bool, error)

IsForcePush detect if a push is a force push

func ListUnadoptedRepositories added in v1.13.0

func ListUnadoptedRepositories(query string, opts *models.ListOptions) ([]string, int, error)

ListUnadoptedRepositories lists all the unadopted repositories that match the provided query

func MigrateRepositoryGitData

func MigrateRepositoryGitData(ctx context.Context, u *models.User, repo *models.Repository, opts migration.MigrateOptions) (*models.Repository, error)

MigrateRepositoryGitData starts migrating git related data after created migrating repository

func PushUpdateAddDeleteTags added in v1.12.0

func PushUpdateAddDeleteTags(repo *models.Repository, gitRepo *git.Repository, addTags, delTags []string) error

PushUpdateAddDeleteTags updates a number of added and delete tags

func PushUpdateAddTag added in v1.12.0

func PushUpdateAddTag(repo *models.Repository, gitRepo *git.Repository, tagName string) error

PushUpdateAddTag must be called for any push actions to add tag

func ReinitMissingRepositories added in v1.12.0

func ReinitMissingRepositories(ctx context.Context) error

ReinitMissingRepositories reinitializes all repository records that lost Git files.

func StoreMissingLfsObjectsInRepository added in v1.15.0

func StoreMissingLfsObjectsInRepository(ctx context.Context, repo *models.Repository, gitRepo *git.Repository, endpoint *url.URL) error

StoreMissingLfsObjectsInRepository downloads missing LFS objects

func SyncReleasesWithTags

func SyncReleasesWithTags(repo *models.Repository, gitRepo *git.Repository) error

SyncReleasesWithTags synchronizes release table with repository tags

func SyncRepositoryHooks added in v1.12.0

func SyncRepositoryHooks(ctx context.Context) error

SyncRepositoryHooks rewrites all repositories' pre-receive, update and post-receive hooks to make sure the binary and custom conf path are up-to-date.

func WikiRemoteURL added in v1.13.0

func WikiRemoteURL(remote string) string

WikiRemoteURL returns accessible repository URL for wiki if exists. Otherwise, it returns an empty string.

Types

type PushCommit added in v1.12.0

type PushCommit struct {
	Sha1           string
	Message        string
	AuthorEmail    string
	AuthorName     string
	CommitterEmail string
	CommitterName  string
	Timestamp      time.Time
}

PushCommit represents a commit in a push operation.

func CommitToPushCommit added in v1.12.0

func CommitToPushCommit(commit *git.Commit) *PushCommit

CommitToPushCommit transforms a git.Commit to PushCommit type.

type PushCommits added in v1.12.0

type PushCommits struct {
	Commits    []*PushCommit
	HeadCommit *PushCommit
	CompareURL string
	Len        int
	// contains filtered or unexported fields
}

PushCommits represents list of commits in a push operation.

func ListToPushCommits added in v1.12.0

func ListToPushCommits(l *list.List) *PushCommits

ListToPushCommits transforms a list.List to PushCommits type.

func NewPushCommits added in v1.12.0

func NewPushCommits() *PushCommits

NewPushCommits creates a new PushCommits object.

func (pc *PushCommits) AvatarLink(email string) string

AvatarLink tries to match user in database with e-mail in order to show custom avatar, and falls back to general avatar link.

func (*PushCommits) ToAPIPayloadCommits added in v1.12.0

func (pc *PushCommits) ToAPIPayloadCommits(repoPath, repoLink string) ([]*api.PayloadCommit, *api.PayloadCommit, error)

ToAPIPayloadCommits converts a PushCommits object to api.PayloadCommit format. It returns all converted commits and, if provided, the head commit or an error otherwise.

type PushUpdateOptions added in v1.14.0

type PushUpdateOptions struct {
	PusherID     int64
	PusherName   string
	RepoUserName string
	RepoName     string
	RefFullName  string // branch, tag or other name to push
	OldCommitID  string
	NewCommitID  string
}

PushUpdateOptions defines the push update options

func (PushUpdateOptions) BranchName added in v1.14.0

func (opts PushUpdateOptions) BranchName() string

BranchName returns simple branch name if it's an operation to branch

func (PushUpdateOptions) IsBranch added in v1.14.0

func (opts PushUpdateOptions) IsBranch() bool

IsBranch return true if it's a push to branch

func (PushUpdateOptions) IsDelBranch added in v1.14.0

func (opts PushUpdateOptions) IsDelBranch() bool

IsDelBranch return true if it's a deletion to a branch

func (PushUpdateOptions) IsDelRef added in v1.14.0

func (opts PushUpdateOptions) IsDelRef() bool

IsDelRef return true if it's a deletion to a branch or tag

func (PushUpdateOptions) IsDelTag added in v1.14.0

func (opts PushUpdateOptions) IsDelTag() bool

IsDelTag return true if it's a deletion to a tag

func (PushUpdateOptions) IsNewBranch added in v1.14.0

func (opts PushUpdateOptions) IsNewBranch() bool

IsNewBranch return true if it's the first-time push to a branch

func (PushUpdateOptions) IsNewRef added in v1.14.0

func (opts PushUpdateOptions) IsNewRef() bool

IsNewRef return true if it's a first-time push to a branch, tag or etc.

func (PushUpdateOptions) IsNewTag added in v1.14.0

func (opts PushUpdateOptions) IsNewTag() bool

IsNewTag return true if it's a creation to a tag

func (PushUpdateOptions) IsTag added in v1.14.0

func (opts PushUpdateOptions) IsTag() bool

IsTag return true if it's an operation to a tag

func (PushUpdateOptions) IsUpdateBranch added in v1.14.0

func (opts PushUpdateOptions) IsUpdateBranch() bool

IsUpdateBranch return true if it's not the first push to a branch

func (PushUpdateOptions) IsUpdateRef added in v1.14.0

func (opts PushUpdateOptions) IsUpdateRef() bool

IsUpdateRef return true if it's an update operation

func (PushUpdateOptions) RefName added in v1.14.0

func (opts PushUpdateOptions) RefName() string

RefName returns simple name for ref

func (PushUpdateOptions) RepoFullName added in v1.14.0

func (opts PushUpdateOptions) RepoFullName() string

RepoFullName returns repo full name

func (PushUpdateOptions) TagName added in v1.14.0

func (opts PushUpdateOptions) TagName() string

TagName returns simple tag name if it's an operation to a tag

Jump to

Keyboard shortcuts

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