Versions in this module Expand all Collapse all v0 v0.1.1 Apr 2, 2026 v0.1.0 Apr 2, 2026 Changes in this version + func NormalizeGitopiaURL(url string) string + func SetupGitConfig(ctx context.Context, name, email string) error + func ValidateGitopiaURL(url string) bool + type AuthManager struct + WalletPath string + func NewAuthManager() *AuthManager + func (am *AuthManager) CleanupAuth() error + func (am *AuthManager) GetWalletPath() string + func (am *AuthManager) IsAuthSetup() bool + func (am *AuthManager) SetupAuth(walletData []byte, walletAddress string) error + type BranchOption func(*BranchOptions) + func WithStartPoint(startPoint string) BranchOption + type BranchOptions struct + StartPoint string + type CheckoutOption func(*CheckoutOptions) + func WithCreateBranch(createBranch bool) CheckoutOption + func WithForceCheckout(force bool) CheckoutOption + type CheckoutOptions struct + CreateBranch bool + Force bool + type Client struct + GitPath string + Timeout time.Duration + func NewClient() *Client + func (c *Client) Add(ctx context.Context, repoPath string, files ...string) error + func (c *Client) Checkout(ctx context.Context, repoPath, branchOrCommit string, ...) error + func (c *Client) Clone(ctx context.Context, url, path string, options ...CloneOption) error + func (c *Client) Commit(ctx context.Context, repoPath, message string, options ...CommitOption) (string, error) + func (c *Client) CreateBranch(ctx context.Context, repoPath, branchName string, options ...BranchOption) error + func (c *Client) GetCurrentBranch(ctx context.Context, repoPath string) (string, error) + func (c *Client) GetRemoteURL(ctx context.Context, repoPath, remote string) (string, error) + func (c *Client) Init(ctx context.Context, path, remoteURL string) error + func (c *Client) IsRepository(path string) bool + func (c *Client) Pull(ctx context.Context, repoPath string, options ...PullOption) error + func (c *Client) Push(ctx context.Context, repoPath string, options ...PushOption) error + func (c *Client) Status(ctx context.Context, repoPath string) (*Status, error) + type CloneOption func(*CloneOptions) + func WithBranch(branch string) CloneOption + func WithDepth(depth int) CloneOption + func WithQuiet(quiet bool) CloneOption + type CloneOptions struct + Branch string + Depth int + Quiet bool + type CommitOption func(*CommitOptions) + func WithAllowEmpty(allowEmpty bool) CommitOption + func WithAmend(amend bool) CommitOption + func WithAuthor(author string) CommitOption + type CommitOptions struct + AllowEmpty bool + Amend bool + Author string + type FileChange struct + Content string + Mode string + Path string + type GitError struct + Args []string + Command string + Err error + ExitCode int + Stderr string + Stdout string + func (e *GitError) Error() string + func (e *GitError) UserFriendlyMessage() string + type PullOption func(*PullOptions) + func WithBranchToPull(branch string) PullOption + func WithFFOnly(ffOnly bool) PullOption + func WithRebase(rebase bool) PullOption + func WithRemoteToPull(remote string) PullOption + type PullOptions struct + Branch string + FFOnly bool + Rebase bool + Remote string + type PushOption func(*PushOptions) + func WithBranchToPush(branch string) PushOption + func WithDelete(delete bool) PushOption + func WithDryRun(dryRun bool) PushOption + func WithForce(force bool) PushOption + func WithForceWithLease(forceWithLease bool) PushOption + func WithRemote(remote string) PushOption + func WithSetUpstream(setUpstream bool) PushOption + func WithTags(tags bool) PushOption + type PushOptions struct + Branch string + Delete bool + DryRun bool + Force bool + ForceWithLease bool + Remote string + SetUpstream bool + Tags bool + type Status struct + Branch string + Clean bool + CommitsAhead int + CommitsBehind int + Modified []string + Staged []string + Untracked []string + func (s *Status) HasChanges() bool + func (s *Status) IsClean() bool + type WorkflowResult struct + Branch string + CommitHash string + Errors []string + FilesChanged int + Message string + Metadata map[string]string + PRNumber int + PRURL string + Success bool