pull

package
v1.14.0-rc8 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2021 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddTestPullRequestTask

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

func AddToTaskQueue(pr *models.PullRequest)

AddToTaskQueue adds itself to pull request test task queue.

func ChangeTargetBranch

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

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

CheckFileProtection check file Protection

func CheckPRReadyToMerge

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

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

CheckPrsForBaseBranch check all pulls with bseBrannch

func CloseBranchPulls

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

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

CloseRepoBranchesPulls close all pull requests which head branches are in the given repository, but only whose base repo is not in the given repository

func CreateCodeComment

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 DismissReview

func DismissReview(reviewID int64, message string, doer *models.User, isDismiss bool) (comment *models.Comment, err error)

DismissReview dismissing stale review by repo admin

func DownloadDiffOrPatch

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

DownloadDiffOrPatch will write the patch for the pr to the writer

func GetDiverging

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

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

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

GetPullRequestCommitStatusState returns pull request merged commit status state

func GetSquashMergeCommitMessages

func GetSquashMergeCommitMessages(pr *models.PullRequest) string

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

func Init

func Init() error

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

func InitializePullRequests

func InitializePullRequests(ctx context.Context)

InitializePullRequests checks and tests untested patches of pull requests.

func IsCommitStatusContextSuccess

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

IsCommitStatusContextSuccess returns true if all required status check contexts succeed.

func IsHeadEqualWithBranch

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

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

func IsPullCommitStatusPass

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

IsPullCommitStatusPass returns if all required status checks PASS

func IsSignedIfRequired

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

IsSignedIfRequired check if merge will be signed if required

func IsUserAllowedToMerge

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

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

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

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

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

MergeRequiredContextsCommitStatus returns a commit status state for given required contexts

func MergedManually

func MergedManually(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repository, commitID string) (err error)

MergedManually mark pr as merged manually

func NewPullRequest

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

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

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

func TestPatch(pr *models.PullRequest) error

TestPatch will test whether a simple patch will apply

func Update

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

Update updates pull request with base branch.

Types

This section is empty.

Jump to

Keyboard shortcuts

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