git

package
v3.1.25 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2026 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrBranchIsProtected = util.ErrorWrap(util.ErrPermissionDenied, "branch is protected")
View Source
var ErrLFSObjectNotExist = db.ErrNotExist{Resource: "LFS Meta object"}

ErrLFSObjectNotExist is returned from lfs models functions in order to differentiate between database and missing object errors.

Functions

func AddBranches

func AddBranches(ctx context.Context, branches []*Branch) error

func AddDeletedBranch

func AddDeletedBranch(ctx context.Context, repoID int64, branchName string, deletedByID int64) error

AddDeletedBranch adds a deleted branch to the database

func BranchesToNamesSet

func BranchesToNamesSet(branches []*Branch) container.Set[string]

func CommitStatusesHideActionsURL

func CommitStatusesHideActionsURL(ctx context.Context, statuses []*CommitStatus)

CommitStatusesHideActionsURL hide Gitea Actions urls

func CopyLFS

func CopyLFS(ctx context.Context, newRepo, oldRepo *repo_model.Repository) error

CopyLFS copies LFS data from one repo to another

func CountLFSLockByRepoID

func CountLFSLockByRepoID(ctx context.Context, repoID int64) (int64, error)

CountLFSLockByRepoID returns a count of all LFSLocks associated with a repository.

func CountLFSMetaObjects

func CountLFSMetaObjects(ctx context.Context, repoID int64) (int64, error)

CountLFSMetaObjects returns a count of all LFSMetaObjects associated with a repository

func CountLatestCommitStatus

func CountLatestCommitStatus(ctx context.Context, repoID int64, sha string) (int64, error)

func DeleteBranches

func DeleteBranches(ctx context.Context, repoID, doerID int64, branchIDs []int64) error

func DeleteProtectedBranch

func DeleteProtectedBranch(ctx context.Context, repo *repo_model.Repository, id int64) (err error)

DeleteProtectedBranch removes ProtectedBranch relation between the user and repository.

func DeleteProtectedTag

func DeleteProtectedTag(ctx context.Context, pt *ProtectedTag) error

DeleteProtectedTag deletes a protected tag by ID

func DeleteRepoBranches

func DeleteRepoBranches(ctx context.Context, repoID int64) error

func ExistsLFSObject

func ExistsLFSObject(ctx context.Context, oid string) (bool, error)

ExistsLFSObject checks if a provided Oid exists within the DB

func FindAllMatchedBranches

func FindAllMatchedBranches(ctx context.Context, repoID int64, ruleName string) ([]string, error)

FindAllMatchedBranches find all matched branches

func FindBranchNames

func FindBranchNames(ctx context.Context, opts FindBranchOptions) ([]string, error)

func FindBranchesByRepoAndBranchName

func FindBranchesByRepoAndBranchName(ctx context.Context, repoBranches map[int64]string) (map[int64]string, error)

func FindRepoRecentCommitStatusContexts

func FindRepoRecentCommitStatusContexts(ctx context.Context, repoID int64, before time.Duration) ([]string, error)

FindRepoRecentCommitStatusContexts returns repository's recent commit status contexts

func GetLatestCommitStatusForPairs

func GetLatestCommitStatusForPairs(ctx context.Context, repoSHAs []RepoSHA) (map[int64][]*CommitStatus, error)

GetLatestCommitStatusForPairs returns all statuses with a unique context for a given list of repo-sha pairs

func GetLatestCommitStatusForRepoCommitIDs

func GetLatestCommitStatusForRepoCommitIDs(ctx context.Context, repoID int64, commitIDs []string) (map[string][]*CommitStatus, error)

GetLatestCommitStatusForRepoCommitIDs returns all statuses with a unique context for a given list of repo-sha pairs

func GetNextCommitStatusIndex

func GetNextCommitStatusIndex(ctx context.Context, repoID int64, sha string) (int64, error)

GetNextCommitStatusIndex retried 3 times to generate a resource index

func GetRepoLFSSize

func GetRepoLFSSize(ctx context.Context, repoID int64) (int64, error)

GetRepoLFSSize return a repository's lfs files size

func InsertProtectedTag

func InsertProtectedTag(ctx context.Context, pt *ProtectedTag) error

InsertProtectedTag inserts a protected tag to database

func IsBranchExist

func IsBranchExist(ctx context.Context, repoID int64, branchName string) (bool, error)

IsBranchExist returns true if the branch exists in the repository.

func IsBranchProtected

func IsBranchProtected(ctx context.Context, repoID int64, branchName string) (bool, error)

IsBranchProtected checks if branch is protected

func IsErrBranchAlreadyExists

func IsErrBranchAlreadyExists(err error) bool

IsErrBranchAlreadyExists checks if an error is an ErrBranchAlreadyExists.

func IsErrBranchNameConflict

func IsErrBranchNameConflict(err error) bool

IsErrBranchNameConflict checks if an error is an ErrBranchNameConflict.

func IsErrBranchNotExist

func IsErrBranchNotExist(err error) bool

IsErrBranchNotExist checks if an error is an ErrBranchDoesNotExist.

func IsErrBranchesEqual

func IsErrBranchesEqual(err error) bool

IsErrBranchesEqual checks if an error is an ErrBranchesEqual.

func IsErrLFSLockAlreadyExist

func IsErrLFSLockAlreadyExist(err error) bool

IsErrLFSLockAlreadyExist checks if an error is a ErrLFSLockAlreadyExist.

func IsErrLFSLockNotExist

func IsErrLFSLockNotExist(err error) bool

IsErrLFSLockNotExist checks if an error is a ErrLFSLockNotExist.

func IsRuleNameSpecial

func IsRuleNameSpecial(ruleName string) bool

IsRuleNameSpecial return true if it contains special character

func IsUserAllowedModifyTag

func IsUserAllowedModifyTag(ctx context.Context, pt *ProtectedTag, userID int64) (bool, error)

IsUserAllowedModifyTag returns true if the user is allowed to modify the tag

func IsUserAllowedToControlTag

func IsUserAllowedToControlTag(ctx context.Context, tags []*ProtectedTag, tagName string, userID int64) (bool, error)

IsUserAllowedToControlTag checks if a user can control the specific tag. It returns true if the tag name is not protected or the user is allowed to control it.

func IsUserMergeWhitelisted

func IsUserMergeWhitelisted(ctx context.Context, protectBranch *ProtectedBranch, userID int64, permissionInRepo access_model.Permission) bool

IsUserMergeWhitelisted checks if some user is whitelisted to merge to this branch

func IsUserOfficialReviewer

func IsUserOfficialReviewer(ctx context.Context, protectBranch *ProtectedBranch, user *user_model.User) (bool, error)

IsUserOfficialReviewer check if user is official reviewer for the branch (counts towards required approvals)

func IterateLFSMetaObjectsForRepo

func IterateLFSMetaObjectsForRepo(ctx context.Context, repoID int64, f func(context.Context, *LFSMetaObject, int64) error, opts *IterateLFSMetaObjectsForRepoOptions) error

IterateLFSMetaObjectsForRepo provides a iterator for LFSMetaObjects per Repo

func IterateRepositoryIDsWithLFSMetaObjects

func IterateRepositoryIDsWithLFSMetaObjects(ctx context.Context, f func(ctx context.Context, repoID, count int64) error) error

IterateRepositoryIDsWithLFSMetaObjects iterates across the repositories that have LFSMetaObjects

func LFSAutoAssociate

func LFSAutoAssociate(ctx context.Context, metas []*LFSMetaObject, user *user_model.User, repoID int64) error

LFSAutoAssociate auto associates accessible LFSMetaObjects

func LFSObjectAccessible

func LFSObjectAccessible(ctx context.Context, user *user_model.User, oid string) (bool, error)

LFSObjectAccessible checks if a provided Oid is accessible to the user

func MarkLFSMetaObject

func MarkLFSMetaObject(ctx context.Context, id int64) error

MarkLFSMetaObject updates the updated time for the provided LFSMetaObject

func NewCommitStatus

func NewCommitStatus(ctx context.Context, opts NewCommitStatusOptions) error

NewCommitStatus save commit statuses into database

func RemoveDeletedBranchByID

func RemoveDeletedBranchByID(ctx context.Context, repoID, branchID int64) error

func RemoveLFSMetaObjectByOid

func RemoveLFSMetaObjectByOid(ctx context.Context, repoID int64, oid string) (int64, error)

RemoveLFSMetaObjectByOid removes a LFSMetaObject entry from database by its OID. It may return ErrLFSObjectNotExist or a database error.

func RemoveLFSMetaObjectByOidFn

func RemoveLFSMetaObjectByOidFn(ctx context.Context, repoID int64, oid string, fn func(count int64) error) (int64, error)

RemoveLFSMetaObjectByOidFn removes a LFSMetaObject entry from database by its OID. It may return ErrLFSObjectNotExist or a database error. It will run Fn with the current count within the transaction

func RemoveOldDeletedBranches

func RemoveOldDeletedBranches(ctx context.Context, olderThan time.Duration)

RemoveOldDeletedBranches removes old deleted branches

func RemoveTeamIDFromProtectedBranch