gitea: Index | Files

package pull

import ""


Package Files

check.go commit_status.go lfs.go merge.go patch.go pull.go review.go temp_repo.go update.go

func AddTestPullRequestTask Uses

func AddTestPullRequestTask(doer *models.User, repoID int64, branch string, isSync bool, oldCommitID, newCommitID string)

AddTestPullRequestTask adds new test tasks by given head/base repository and head/base branch, and generate new patch for testing as needed.

func AddToTaskQueue Uses

func AddToTaskQueue(pr *models.PullRequest)

AddToTaskQueue adds itself to pull request test task queue.

func ChangeTargetBranch Uses

func ChangeTargetBranch(pr *models.PullRequest, doer *models.User, targetBranch string) (err error)

ChangeTargetBranch changes the target branch of this pull request, as the given user.

func CheckFileProtection Uses

func CheckFileProtection(oldCommitID, newCommitID string, patterns []glob.Glob, limit int, env []string, repo *git.Repository) ([]string, error)

CheckFileProtection check file Protection

func CheckPRReadyToMerge Uses

func CheckPRReadyToMerge(pr *models.PullRequest, skipProtectedFilesCheck bool) (err error)

CheckPRReadyToMerge checks whether the PR is ready to be merged (reviews and status checks)

func CheckPrsForBaseBranch Uses

func CheckPrsForBaseBranch(baseRepo *models.Repository, baseBranchName string) error

CheckPrsForBaseBranch check all pulls with bseBrannch

func CloseBranchPulls Uses

func CloseBranchPulls(doer *models.User, repoID int64, branch string) error

CloseBranchPulls close all the pull requests who's head branch is the branch

func CloseRepoBranchesPulls Uses

func CloseRepoBranchesPulls(doer *models.User, repo *models.Repository) error

CloseRepoBranchesPulls close all pull requests which head branches are in the given repository

func CreateCodeComment Uses

func CreateCodeComment(doer *models.User, gitRepo *git.Repository, issue *models.Issue, line int64, content string, treePath string, isReview bool, replyReviewID int64, latestCommitID string) (*models.Comment, error)

CreateCodeComment creates a comment on the code line

func DownloadDiffOrPatch Uses

func DownloadDiffOrPatch(pr *models.PullRequest, w io.Writer, patch bool) error

DownloadDiffOrPatch will write the patch for the pr to the writer

func GetDiverging Uses

func GetDiverging(pr *models.PullRequest) (*git.DivergeObject, error)

GetDiverging determines how many commits a PR is ahead or behind the PR base branch

func GetLastCommitStatus Uses

func GetLastCommitStatus(pr *models.PullRequest) (status []*models.CommitStatus, err error)

GetLastCommitStatus returns list of commit statuses for latest commit on this pull request.

func GetPullRequestCommitStatusState Uses

func GetPullRequestCommitStatusState(pr *models.PullRequest) (structs.CommitStatusState, error)

GetPullRequestCommitStatusState returns pull request merged commit status state

func GetSquashMergeCommitMessages Uses

func GetSquashMergeCommitMessages(pr *models.PullRequest) string

GetSquashMergeCommitMessages returns the commit messages between head and merge base (if there is one)

func Init Uses

func Init() error

Init runs the task queue to test all the checking status pull requests

func InitializePullRequests Uses

func InitializePullRequests(ctx context.Context)

InitializePullRequests checks and tests untested patches of pull requests.

func IsCommitStatusContextSuccess Uses

func IsCommitStatusContextSuccess(commitStatuses []*models.CommitStatus, requiredContexts []string) bool

IsCommitStatusContextSuccess returns true if all required status check contexts succeed.

func IsHeadEqualWithBranch Uses

func IsHeadEqualWithBranch(pr *models.PullRequest, branchName string) (bool, error)

IsHeadEqualWithBranch returns if the commits of branchName are available in pull request head

func IsPullCommitStatusPass Uses

func IsPullCommitStatusPass(pr *models.PullRequest) (bool, error)

IsPullCommitStatusPass returns if all required status checks PASS

func IsSignedIfRequired Uses

func IsSignedIfRequired(pr *models.PullRequest, doer *models.User) (bool, error)

IsSignedIfRequired check if merge will be signed if required

func IsUserAllowedToMerge Uses

func IsUserAllowedToMerge(pr *models.PullRequest, p models.Permission, user *models.User) (bool, error)

IsUserAllowedToMerge check if user is allowed to merge PR with given permissions and branch protections

func IsUserAllowedToUpdate Uses

func IsUserAllowedToUpdate(pull *models.PullRequest, user *models.User) (bool, error)

IsUserAllowedToUpdate check if user is allowed to update PR with given permissions and branch protections

func LFSPush Uses

func LFSPush(tmpBasePath, mergeHeadSHA, mergeBaseSHA string, pr *models.PullRequest) error

LFSPush pushes lfs objects referred to in new commits in the head repository from the base repository

func Merge Uses

func Merge(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repository, mergeStyle models.MergeStyle, message string) (err error)

Merge merges pull request to base repository. Caller should check PR is ready to be merged (review and status checks) FIXME: add repoWorkingPull make sure two merges does not happen at same time.

func MergeRequiredContextsCommitStatus Uses

func MergeRequiredContextsCommitStatus(commitStatuses []*models.CommitStatus, requiredContexts []string) structs.CommitStatusState

MergeRequiredContextsCommitStatus returns a commit status state for given required contexts

func NewPullRequest Uses

func NewPullRequest(repo *models.Repository, pull *models.Issue, labelIDs []int64, uuids []string, pr *models.PullRequest, assigneeIDs []int64) error

NewPullRequest creates new pull request with labels for repository.

func PushToBaseRepo Uses

func PushToBaseRepo(pr *models.PullRequest) (err error)

PushToBaseRepo pushes commits from branches of head repository to corresponding branches of base repository. FIXME: Only push branches that are actually updates?

func SubmitReview Uses

func SubmitReview(doer *models.User, gitRepo *git.Repository, issue *models.Issue, reviewType models.ReviewType, content, commitID string) (*models.Review, *models.Comment, error)

SubmitReview creates a review out of the existing pending review or creates a new one if no pending review exist

func TestPatch Uses

func TestPatch(pr *models.PullRequest) error

TestPatch will test whether a simple patch will apply

func Update Uses

func Update(pull *models.PullRequest, doer *models.User, message string) error

Update updates pull request with base branch.

Package pull imports 32 packages (graph) and is imported by 26 packages. Updated 2021-01-20. Refresh now. Tools for package owners.