Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrProviderNotSupported = errors.New("git provider not supported")
ErrAuthenticationFailed = func(err error) error {
return fmt.Errorf("authentication failed, make sure credentials are correct: %w", err)
}
)
Errors
View Source
var (
ErrNilOpts = errors.New("options cannot be nil")
ErrNoParse = errors.New("must call Parse before using CloneOptions")
ErrRepoNotFound = errors.New("git repository not found")
)
Errors
Functions ¶
func ParseGitUrl ¶ added in v0.2.2
func ParseGitUrl(n string) (host, orgRepo, path, ref, gitSuff string)
ParseGitUrl returns the different parts of the repo url example: "https://github.com/owner/name/repo/path?ref=branch" host: "https://github.com" orgRepo: "owner/name" path: "path" ref: "refs/heads/branch" gitSuff: ".git" For tags use "?tag=<tag_name>" For specific git commit sha use "?sha=<comit_sha>"
Types ¶
type CloneOptions ¶
type CloneOptions struct {
// URL clone url
Repo string
Auth Auth
FS fs.FS
Progress io.Writer
// contains filtered or unexported fields
}
func AddFlags ¶
func AddFlags(cmd *cobra.Command, bfs billy.Filesystem, prefix string) *CloneOptions
type CreateRepoOptions ¶
type CreateRepoOptions struct {
Owner string
Name string
Private bool
}
type GetRepoOptions ¶
type GetRepoOptions struct {
Owner string
Name string
}
type Provider ¶
type Provider interface {
// CreateRepository creates the repository in the remote provider and returns a
// clone url
CreateRepository(ctx context.Context, opts *CreateRepoOptions) (string, error)
}
Provider represents a git provider
func NewProvider ¶
func NewProvider(opts *ProviderOptions) (Provider, error)
New creates a new git provider
type ProviderOptions ¶
type ProviderOptions struct {
Type string
Auth *Auth
Host string
}
ProviderOptions for a new git provider
type PushOptions ¶
type PushOptions struct {
AddGlobPattern string
CommitMsg string
}
type Repository ¶
type Repository interface {
// Persist runs add, commit and push to the repository default remote
Persist(ctx context.Context, opts *PushOptions) error
}
Repository represents a git repository
Click to show internal directories.
Click to hide internal directories.