Documentation ¶
Index ¶
- func ApplyDiffPatch(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, ...) (*structs.FileResponse, error)
- func CherryPick(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, ...) (*structs.FileResponse, error)
- func CleanUploadFileName(name string) string
- func CountDivergingCommits(ctx context.Context, repo *repo_model.Repository, branch string) (*git.DivergeObject, error)
- func CreateCommitStatus(ctx context.Context, repo *repo_model.Repository, creator *user_model.User, ...) error
- func CreateOrUpdateRepoFile(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, ...) (*structs.FileResponse, error)
- func DeleteRepoFile(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, ...) (*api.FileResponse, error)
- func GetAuthorAndCommitterUsers(author, committer *IdentityOptions, doer *user_model.User) (authorUser, committerUser *user_model.User)
- func GetBlobBySHA(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, ...) (*api.GitBlobResponse, error)
- func GetContents(ctx context.Context, repo *repo_model.Repository, treePath, ref string, ...) (*api.ContentsResponse, error)
- func GetContentsOrList(ctx context.Context, repo *repo_model.Repository, treePath, ref string) (interface{}, error)
- func GetDiffPreview(ctx context.Context, repo *repo_model.Repository, ...) (*gitdiff.Diff, error)
- func GetFileCommitResponse(repo *repo_model.Repository, commit *git.Commit) (*api.FileCommitResponse, error)
- func GetFileResponseFromCommit(ctx context.Context, repo *repo_model.Repository, commit *git.Commit, ...) (*api.FileResponse, error)
- func GetPayloadCommitVerification(ctx context.Context, commit *git.Commit) *structs.PayloadCommitVerification
- func GetTreeBySHA(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, ...) (*api.GitTreeResponse, error)
- func UploadRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, ...) error
- func VerifyBranchProtection(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, ...) error
- type ApplyDiffPatchOptions
- type CommitDateOptions
- type ContentType
- type DeleteRepoFileOptions
- type IdentityOptions
- type TemporaryUploadRepository
- func (t *TemporaryUploadRepository) AddObjectToIndex(mode, objectHash, objectPath string) error
- func (t *TemporaryUploadRepository) Clone(branch string) error
- func (t *TemporaryUploadRepository) Close()
- func (t *TemporaryUploadRepository) CommitTree(parent string, author, committer *user_model.User, treeHash, message string, ...) (string, error)
- func (t *TemporaryUploadRepository) CommitTreeWithDate(parent string, author, committer *user_model.User, treeHash, message string, ...) (string, error)
- func (t *TemporaryUploadRepository) DiffIndex() (*gitdiff.Diff, error)
- func (t *TemporaryUploadRepository) GetBranchCommit(branch string) (*git.Commit, error)
- func (t *TemporaryUploadRepository) GetCommit(commitID string) (*git.Commit, error)
- func (t *TemporaryUploadRepository) GetLastCommit() (string, error)
- func (t *TemporaryUploadRepository) GetLastCommitByRef(ref string) (string, error)
- func (t *TemporaryUploadRepository) HashObject(content io.Reader) (string, error)
- func (t *TemporaryUploadRepository) Init() error
- func (t *TemporaryUploadRepository) LsFiles(filenames ...string) ([]string, error)
- func (t *TemporaryUploadRepository) Push(doer *user_model.User, commitHash, branch string) error
- func (t *TemporaryUploadRepository) RemoveFilesFromIndex(filenames ...string) error
- func (t *TemporaryUploadRepository) SetDefaultIndex() error
- func (t *TemporaryUploadRepository) WriteTree() (string, error)
- type UpdateRepoFileOptions
- type UploadRepoFileOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyDiffPatch ¶
func ApplyDiffPatch(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, opts *ApplyDiffPatchOptions) (*structs.FileResponse, error)
ApplyDiffPatch applies a patch to the given repository
func CherryPick ¶
func CherryPick(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, revert bool, opts *ApplyDiffPatchOptions) (*structs.FileResponse, error)
CherryPick cherrypicks or reverts a commit to the given repository
func CleanUploadFileName ¶
CleanUploadFileName Trims a filename and returns empty string if it is a .git directory
func CountDivergingCommits ¶
func CountDivergingCommits(ctx context.Context, repo *repo_model.Repository, branch string) (*git.DivergeObject, error)
CountDivergingCommits determines how many commits a branch is ahead or behind the repository's base branch
func CreateCommitStatus ¶
func CreateCommitStatus(ctx context.Context, repo *repo_model.Repository, creator *user_model.User, sha string, status *git_model.CommitStatus) error
CreateCommitStatus creates a new CommitStatus given a bunch of parameters NOTE: All text-values will be trimmed from whitespaces. Requires: Repo, Creator, SHA
func CreateOrUpdateRepoFile ¶
func CreateOrUpdateRepoFile(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, opts *UpdateRepoFileOptions) (*structs.FileResponse, error)
CreateOrUpdateRepoFile adds or updates a file in the given repository
func DeleteRepoFile ¶
func DeleteRepoFile(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, opts *DeleteRepoFileOptions) (*api.FileResponse, error)
DeleteRepoFile deletes a file in the given repository
func GetAuthorAndCommitterUsers ¶
func GetAuthorAndCommitterUsers(author, committer *IdentityOptions, doer *user_model.User) (authorUser, committerUser *user_model.User)
GetAuthorAndCommitterUsers Gets the author and committer user objects from the IdentityOptions
func GetBlobBySHA ¶
func GetBlobBySHA(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, sha string) (*api.GitBlobResponse, error)
GetBlobBySHA get the GitBlobResponse of a repository using a sha hash.
func GetContents ¶
func GetContents(ctx context.Context, repo *repo_model.Repository, treePath, ref string, forList bool) (*api.ContentsResponse, error)
GetContents gets the meta data on a file's contents. Ref can be a branch, commit or tag
func GetContentsOrList ¶
func GetContentsOrList(ctx context.Context, repo *repo_model.Repository, treePath, ref string) (interface{}, error)
GetContentsOrList gets the meta data of a file's contents (*ContentsResponse) if treePath not a tree directory, otherwise a listing of file contents ([]*ContentsResponse). Ref can be a branch, commit or tag
func GetDiffPreview ¶
func GetDiffPreview(ctx context.Context, repo *repo_model.Repository, branch, treePath, content string) (*gitdiff.Diff, error)
GetDiffPreview produces and returns diff result of a file which is not yet committed.
func GetFileCommitResponse ¶
func GetFileCommitResponse(repo *repo_model.Repository, commit *git.Commit) (*api.FileCommitResponse, error)
GetFileCommitResponse Constructs a FileCommitResponse from a Commit object
func GetFileResponseFromCommit ¶
func GetFileResponseFromCommit(ctx context.Context, repo *repo_model.Repository, commit *git.Commit, branch, treeName string) (*api.FileResponse, error)
GetFileResponseFromCommit Constructs a FileResponse from a Commit object
func GetPayloadCommitVerification ¶
func GetPayloadCommitVerification(ctx context.Context, commit *git.Commit) *structs.PayloadCommitVerification
GetPayloadCommitVerification returns the verification information of a commit
func GetTreeBySHA ¶
func GetTreeBySHA(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, sha string, page, perPage int, recursive bool) (*api.GitTreeResponse, error)
GetTreeBySHA get the GitTreeResponse of a repository using a sha hash.
func UploadRepoFiles ¶
func UploadRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, opts *UploadRepoFileOptions) error
UploadRepoFiles uploads files to the given repository
func VerifyBranchProtection ¶
func VerifyBranchProtection(ctx context.Context, repo *repo_model.Repository, doer *user_model.User, branchName, treePath string) error
VerifyBranchProtection verify the branch protection for modifying the given treePath on the given branch
Types ¶
type ApplyDiffPatchOptions ¶
type ApplyDiffPatchOptions struct { LastCommitID string OldBranch string NewBranch string Message string Content string SHA string Author *IdentityOptions Committer *IdentityOptions Dates *CommitDateOptions Signoff bool }
ApplyDiffPatchOptions holds the repository diff patch update options
func (*ApplyDiffPatchOptions) Validate ¶
func (opts *ApplyDiffPatchOptions) Validate(ctx context.Context, repo *repo_model.Repository, doer *user_model.User) error
Validate validates the provided options
type CommitDateOptions ¶
CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
type ContentType ¶
type ContentType string
ContentType repo content type
const ( // ContentTypeRegular regular content type (file) ContentTypeRegular ContentType = "file" // ContentTypeDir dir content type (dir) ContentTypeDir ContentType = "dir" // ContentLink link content type (symlink) ContentTypeLink ContentType = "symlink" // ContentTag submodule content type (submodule) ContentTypeSubmodule ContentType = "submodule" )
The string representations of different content types
func GetObjectTypeFromTreeEntry ¶
func GetObjectTypeFromTreeEntry(entry *git.TreeEntry) ContentType
GetObjectTypeFromTreeEntry check what content is behind it
func (*ContentType) String ¶
func (ct *ContentType) String() string
String gets the string of ContentType
type DeleteRepoFileOptions ¶
type DeleteRepoFileOptions struct { LastCommitID string OldBranch string NewBranch string TreePath string Message string SHA string Author *IdentityOptions Committer *IdentityOptions Dates *CommitDateOptions Signoff bool }
DeleteRepoFileOptions holds the repository delete file options
type IdentityOptions ¶
IdentityOptions for a person's identity like an author or committer
type TemporaryUploadRepository ¶
type TemporaryUploadRepository struct {
// contains filtered or unexported fields
}
TemporaryUploadRepository is a type to wrap our upload repositories as a shallow clone
func NewTemporaryUploadRepository ¶
func NewTemporaryUploadRepository(ctx context.Context, repo *repo_model.Repository) (*TemporaryUploadRepository, error)
NewTemporaryUploadRepository creates a new temporary upload repository
func (*TemporaryUploadRepository) AddObjectToIndex ¶
func (t *TemporaryUploadRepository) AddObjectToIndex(mode, objectHash, objectPath string) error
AddObjectToIndex adds the provided object hash to the index with the provided mode and path
func (*TemporaryUploadRepository) Clone ¶
func (t *TemporaryUploadRepository) Clone(branch string) error
Clone the base repository to our path and set branch as the HEAD
func (*TemporaryUploadRepository) Close ¶
func (t *TemporaryUploadRepository) Close()
Close the repository cleaning up all files
func (*TemporaryUploadRepository) CommitTree ¶
func (t *TemporaryUploadRepository) CommitTree(parent string, author, committer *user_model.User, treeHash, message string, signoff bool) (string, error)
CommitTree creates a commit from a given tree for the user with provided message
func (*TemporaryUploadRepository) CommitTreeWithDate ¶
func (t *TemporaryUploadRepository) CommitTreeWithDate(parent string, author, committer *user_model.User, treeHash, message string, signoff bool, authorDate, committerDate time.Time) (string, error)
CommitTreeWithDate creates a commit from a given tree for the user with provided message
func (*TemporaryUploadRepository) DiffIndex ¶
func (t *TemporaryUploadRepository) DiffIndex() (*gitdiff.Diff, error)
DiffIndex returns a Diff of the current index to the head
func (*TemporaryUploadRepository) GetBranchCommit ¶
func (t *TemporaryUploadRepository) GetBranchCommit(branch string) (*git.Commit, error)
GetBranchCommit Gets the commit object of the given branch
func (*TemporaryUploadRepository) GetCommit ¶
func (t *TemporaryUploadRepository) GetCommit(commitID string) (*git.Commit, error)
GetCommit Gets the commit object of the given commit ID
func (*TemporaryUploadRepository) GetLastCommit ¶
func (t *TemporaryUploadRepository) GetLastCommit() (string, error)
GetLastCommit gets the last commit ID SHA of the repo
func (*TemporaryUploadRepository) GetLastCommitByRef ¶
func (t *TemporaryUploadRepository) GetLastCommitByRef(ref string) (string, error)
GetLastCommitByRef gets the last commit ID SHA of the repo by ref
func (*TemporaryUploadRepository) HashObject ¶
func (t *TemporaryUploadRepository) HashObject(content io.Reader) (string, error)
HashObject writes the provided content to the object db and returns its hash
func (*TemporaryUploadRepository) Init ¶
func (t *TemporaryUploadRepository) Init() error
Init the repository
func (*TemporaryUploadRepository) LsFiles ¶
func (t *TemporaryUploadRepository) LsFiles(filenames ...string) ([]string, error)
LsFiles checks if the given filename arguments are in the index
func (*TemporaryUploadRepository) Push ¶
func (t *TemporaryUploadRepository) Push(doer *user_model.User, commitHash, branch string) error
Push the provided commitHash to the repository branch by the provided user
func (*TemporaryUploadRepository) RemoveFilesFromIndex ¶
func (t *TemporaryUploadRepository) RemoveFilesFromIndex(filenames ...string) error
RemoveFilesFromIndex removes the given files from the index
func (*TemporaryUploadRepository) SetDefaultIndex ¶
func (t *TemporaryUploadRepository) SetDefaultIndex() error
SetDefaultIndex sets the git index to our HEAD
func (*TemporaryUploadRepository) WriteTree ¶
func (t *TemporaryUploadRepository) WriteTree() (string, error)
WriteTree writes the current index as a tree to the object db and returns its hash
type UpdateRepoFileOptions ¶
type UpdateRepoFileOptions struct { LastCommitID string OldBranch string NewBranch string TreePath string FromTreePath string Message string Content string SHA string IsNewFile bool Author *IdentityOptions Committer *IdentityOptions Dates *CommitDateOptions Signoff bool }
UpdateRepoFileOptions holds the repository file update options