git

package
v1.7.6 Latest Latest
Warning

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

Go to latest
Published: May 4, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ActionStatus     = &Action{Key: "status", Title: "Status", Description: "Returns the status of the repository"}
	ActionCreateRepo = &Action{Key: "createrepo", Title: "Create Repo", Description: "Creates a git repo and makes an initial commit"}
	ActionMagic      = &Action{Key: "magic", Title: "Magic", Description: "Does everything it can to bring the repo up to date (stash, pull, pop, commit, push)"}
	ActionFetch      = &Action{Key: "fetch", Title: "Fetch", Description: "Fetches the latest changes from the repository"}
	ActionCommit     = &Action{Key: "commit", Title: "Commit", Description: "Adds all files, commits with the provided message"}
	ActionPull       = &Action{Key: "pull", Title: "Pull", Description: "Pulls pending commits from upstream"}
	ActionPush       = &Action{Key: "push", Title: "Push", Description: "Pushes pending commits to the remote"}
	ActionReset      = &Action{Key: "reset", Title: "Reset", Description: "Resets all local changes; be careful"}
	ActionBranch     = &Action{Key: "branch", Title: "Branch", Description: "Switch to a new branch"}
	ActionUndoCommit = &Action{Key: "undocommit", Title: "Undo", Description: "Removes the most recent commit, keeping all local changes"}
	ActionOutdated   = &Action{Key: "outdated", Title: "Outdated", Description: "Finds commits since last tag"}
	ActionHistory    = &Action{Key: "history", Title: "History", Description: "Visualize the git history"}
)
View Source
var ResultFields = []string{"Project", "Status", "Data", "Error"}

Functions

func CloneRepo added in v1.7.1

func CloneRepo(ctx context.Context, path string, url string, logger util.Logger) error

func CloneRepoGH added in v1.7.2

func CloneRepoGH(ctx context.Context, path string, url string, logger util.Logger) error

func GHCmd added in v1.7.2

func GHCmd(ctx context.Context, args string, path string, logger util.Logger) (string, error)

func GHSync added in v1.7.2

func GHSync(ctx context.Context, path string, logger util.Logger) (string, error)

func GitCmd added in v1.7.2

func GitCmd(ctx context.Context, args string, path string, logger util.Logger) (string, error)

Types

type Action

type Action struct {
	Key         string `json:"key"`
	Title       string `json:"title"`
	Description string `json:"description"`
}

func ActionStatusFromString

func ActionStatusFromString(key string) *Action

type Actions

type Actions []*Action

type HistoryArgs added in v1.5.5

type HistoryArgs struct {
	Path    string     `json:"path,omitempty"`
	Since   *time.Time `json:"since,omitempty"`
	Authors []string   `json:"authors,omitempty"`
	Limit   int        `json:"limit,omitempty"`
	Commit  string     `json:"commit,omitempty"`
	Debug   bool       `json:"debug,omitempty"`
}

type HistoryAuthor added in v1.5.34

type HistoryAuthor struct {
	Key   string `json:"key"`
	Name  string `json:"name"`
	Count int    `json:"count"`
}

type HistoryEntries

type HistoryEntries []*HistoryEntry

func ParseResultsDelimited

func ParseResultsDelimited(output string) (HistoryEntries, error)

func (HistoryEntries) Authors added in v1.5.34

func (h HistoryEntries) Authors() []*HistoryAuthor

func (HistoryEntries) Get

func (h HistoryEntries) Get(sha string) *HistoryEntry

type HistoryEntry

type HistoryEntry struct {
	Headers     util.ValueMap `json:"headers" xml:"headers"`
	SHA         string        `json:"sha" xml:"sha"`
	AuthorName  string        `json:"authorName" xml:"authorName"`
	AuthorEmail string        `json:"authorEmail" xml:"authorEmail"`
	Message     string        `json:"message" xml:"message"`
	Occurred    time.Time     `json:"occurred" xml:"occurred"`
	Files       HistoryFiles  `json:"files" xml:"files"`
}

type HistoryFile

type HistoryFile struct {
	Status string
	File   string
}

func (*HistoryFile) String added in v1.5.6

func (h *HistoryFile) String() string

type HistoryFiles

type HistoryFiles []*HistoryFile

func (HistoryFiles) Strings added in v1.5.6

func (h HistoryFiles) Strings() []string

type HistoryResult

type HistoryResult struct {
	Args    *HistoryArgs   `json:"args,omitempty"`
	Entries HistoryEntries `json:"entries"`
	Debug   any            `json:"debug,omitempty"`
}

type Result

type Result struct {
	Project string        `json:"project,omitempty"`
	Status  string        `json:"status,omitempty"`
	Data    util.ValueMap `json:"data,omitempty"`
	Error   string        `json:"error,omitempty"`
}

func NewResult

func NewResult(prj string, status string, data util.ValueMap) *Result

func (*Result) Actions

func (r *Result) Actions() Actions

func (*Result) CleanData

func (r *Result) CleanData() util.ValueMap

func (*Result) DataInt

func (r *Result) DataInt(k string) int

func (*Result) DataString

func (r *Result) DataString(k string) string

func (*Result) DataStringArray

func (r *Result) DataStringArray(k string) []string

func (*Result) History

func (r *Result) History() *HistoryResult

func (*Result) String added in v1.5.20

func (r *Result) String() string

func (*Result) Strings

func (r *Result) Strings() []string

func (*Result) ToCSV

func (r *Result) ToCSV() ([]string, [][]string)

type Results

type Results []*Result

func (Results) Get

func (r Results) Get(key string) *Result

func (Results) ToCSV

func (r Results) ToCSV() ([]string, [][]string)

type Service

type Service struct {
	Key  string `json:"key"`
	Path string `json:"path,omitempty"`
}

func NewService

func NewService(key string, path string) *Service

func (*Service) Commit

func (s *Service) Commit(ctx context.Context, msg string, logger util.Logger) (*Result, error)

func (*Service) CommitCount added in v1.7.2

func (s *Service) CommitCount(ctx context.Context, all bool, logger util.Logger) (*Result, error)

func (*Service) CreateRepo

func (s *Service) CreateRepo(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) Fetch

func (s *Service) Fetch(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) History

func (s *Service) History(ctx context.Context, args *HistoryArgs, logger util.Logger) (*Result, error)

func (*Service) Magic

func (s *Service) Magic(ctx context.Context, message string, dryRun bool, logger util.Logger) (*Result, error)

func (*Service) Outdated

func (s *Service) Outdated(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) Pull

func (s *Service) Pull(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) Push

func (s *Service) Push(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) Reset

func (s *Service) Reset(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) Status

func (s *Service) Status(ctx context.Context, logger util.Logger) (*Result, error)

func (*Service) UndoCommit

func (s *Service) UndoCommit(ctx context.Context, logger util.Logger) (*Result, error)

Jump to

Keyboard shortcuts

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