ops

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddRepo

func AddRepo(ctx context.Context, input AddRepoInput) (config.WorkspaceConfig, error)

func DeriveRepoNameFromURL

func DeriveRepoNameFromURL(url string) string

func RemoveRepo

func RemoveRepo(ctx context.Context, input RemoveRepoInput) (config.WorkspaceConfig, error)

func UpdateRepoRemotes

func UpdateRepoRemotes(input UpdateRepoRemotesInput) (config.WorkspaceConfig, error)

Types

type AddRepoInput

type AddRepoInput struct {
	WorkspaceRoot string
	Name          string
	URL           string
	SourcePath    string
	RepoDir       string
	Defaults      config.Defaults
	Remotes       config.Remotes
	Git           git.Client
}

type RemoveRepoInput

type RemoveRepoInput struct {
	WorkspaceRoot   string
	Name            string
	Defaults        config.Defaults
	Git             git.Client
	DeleteWorktrees bool
	DeleteLocal     bool
}

type RepoBranchSafety

type RepoBranchSafety struct {
	Branch         string
	Path           string
	Dirty          bool
	Missing        bool
	Unmerged       bool
	UnmergedErr    string
	UnmergedReason string
	Unpushed       bool
	UnpushedErr    string
	StatusErr      string
	FetchBaseErr   string
	FetchWriteErr  string
}

type RepoSafetyInput

type RepoSafetyInput struct {
	WorkspaceRoot string
	Repo          config.RepoConfig
	Defaults      config.Defaults
	Git           git.Client
	FetchRemotes  bool
}

type RepoSafetyReport

type RepoSafetyReport struct {
	RepoName    string
	BaseRemote  string
	BaseBranch  string
	WriteRemote string
	Branches    []RepoBranchSafety
}

func CheckRepoSafety

func CheckRepoSafety(ctx context.Context, input RepoSafetyInput) (RepoSafetyReport, error)

type RepoStatus

type RepoStatus struct {
	Name    string
	Path    string
	Dirty   bool
	Missing bool
	Err     error
}

func Status

func Status(ctx context.Context, input StatusInput) ([]RepoStatus, error)

type StatusInput

type StatusInput struct {
	WorkspaceRoot string
	Defaults      config.Defaults
	Git           git.Client
}

type UpdateRepoRemotesInput

type UpdateRepoRemotesInput struct {
	WorkspaceRoot  string
	Name           string
	Defaults       config.Defaults
	BaseRemote     string
	WriteRemote    string
	BaseBranch     string
	WriteBranch    string
	BaseRemoteSet  bool
	WriteRemoteSet bool
	BaseBranchSet  bool
	WriteBranchSet bool
}

type WorkspaceSafetyInput

type WorkspaceSafetyInput struct {
	WorkspaceRoot string
	Defaults      config.Defaults
	Git           git.Client
	FetchRemotes  bool
}

type WorkspaceSafetyReport

type WorkspaceSafetyReport struct {
	Root  string
	Repos []RepoSafetyReport
}

Jump to

Keyboard shortcuts

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