git_cmd

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2022 License: Apache-2.0 Imports: 17 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ReLogGraphBracket = `\([\s\S]*\)`
	ReOnlyTag         = `\(tag:[^,]*\)`
)
View Source
const (
	PrettyRFC3339HashTime = "format:%h %cI"
)

Variables

This section is empty.

Functions

func GetGitDir

func GetGitDir() (string, error)

func GetWorkDir

func GetWorkDir() (string, error)

func IsBareRepo

func IsBareRepo() bool

func IsGitRepo

func IsGitRepo() bool

func IsInGitDir

func IsInGitDir() bool

func IsTargetGitRepo

func IsTargetGitRepo(target string) bool

Types

type DailyTwoLogItem

type DailyTwoLogItem struct {
	Dir   string
	Start time.Time
	End   time.Time
	Data  map[int]*TwoLogItem
}

type GitApi

type GitApi struct {
	Dir string
	// contains filtered or unexported fields
}

func (*GitApi) AddRemote

func (g *GitApi) AddRemote(name, url string, ops ...Option) (string, error)

func (*GitApi) CheckForgetPush

func (g *GitApi) CheckForgetPush() (bool, error)

func (*GitApi) CheckUpToDate

func (g *GitApi) CheckUpToDate(all bool) (bool, *commandx.CommandResult)

func (*GitApi) CheckoutRemoteBranch

func (g *GitApi) CheckoutRemoteBranch(local, remote, branch string, ops ...Option) (string, error)

func (*GitApi) CreateBranch

func (g *GitApi) CreateBranch(name string, ops ...Option) (string, error)

func (*GitApi) DiffFromFirst

func (g *GitApi) DiffFromFirst(rl *RepoLogs) (*GitDiffItem, error)

func (*GitApi) FetchRemote

func (g *GitApi) FetchRemote(remote string) (bool, *commandx.CommandResult)

func (*GitApi) FormatDefaultGitLogItem

func (g *GitApi) FormatDefaultGitLogItem(input string) *RepoLogs

func (*GitApi) FormatLogGraphOutput

func (g *GitApi) FormatLogGraphOutput(out string) *RepoLogs

func (*GitApi) FormatLogRfc3339TimeItem

func (g *GitApi) FormatLogRfc3339TimeItem(input string) *RepoLogs

func (*GitApi) GetCurrentLogGraph

func (g *GitApi) GetCurrentLogGraph(opts ...Option) (string, error)

func (*GitApi) GetDailyTwoLog

func (g *GitApi) GetDailyTwoLog(logs *RepoLogs, start, end time.Time) *DailyTwoLogItem

func (*GitApi) GetDiffCommitAndWorkTree

func (g *GitApi) GetDiffCommitAndWorkTree(commit string, ops ...Option) (string, error)

func (*GitApi) GetDiffTwoCommit

func (g *GitApi) GetDiffTwoCommit(start, end string, opts ...Option) (string, error)

func (*GitApi) GetGitDiffItem

func (g *GitApi) GetGitDiffItem(str string, opts ...Option) *GitDiffItem

func (*GitApi) GetGitDiffItemListStat

func (g *GitApi) GetGitDiffItemListStat(list []*GitDiffItem) GitDiffItemListStat

func (*GitApi) GetGitDiffNumStat

func (g *GitApi) GetGitDiffNumStat(start, end string, opts ...Option) (*GitDiffNumStat, error)

func (*GitApi) GetGitDiffShortStat

func (g *GitApi) GetGitDiffShortStat(start, end string, opts ...Option) (*GitDiffShotStat, error)

func (*GitApi) GetLog

func (g *GitApi) GetLog(opts ...Option) (string, error)

func (*GitApi) GetLogSinceUntil

func (g *GitApi) GetLogSinceUntil(since, until time.Time, opts ...Option) (string, error)

func (*GitApi) GetParent

func (g *GitApi) GetParent(hash string) (string, error)

func (*GitApi) GetRemoteUsername

func (g *GitApi) GetRemoteUsername() string

func (*GitApi) GetRepoRemotes

func (g *GitApi) GetRepoRemotes() (*RepoRemotes, error)

func (*GitApi) GitAdd

func (g *GitApi) GitAdd(target []string, opts ...Option) (string, error)

func (*GitApi) GitCommit

func (g *GitApi) GitCommit(comment string, opts ...Option) (string, error)

func (*GitApi) GitPush

func (g *GitApi) GitPush(opts ...Option) (string, error)

func (*GitApi) PushMirror

func (g *GitApi) PushMirror(name string, ops ...Option) (string, error)

func (*GitApi) PushU

func (g *GitApi) PushU(local, remote string, ops ...Option) (string, error)

func (*GitApi) SetUpstreamTo

func (g *GitApi) SetUpstreamTo(remote, remoteBranch, localBranch string, ops ...Option) (string, error)

func (*GitApi) SortLogItemByDateAsc

func (g *GitApi) SortLogItemByDateAsc(items []LogItem)

func (*GitApi) SortLogItemByDateDesc

func (g *GitApi) SortLogItemByDateDesc(items []LogItem)

func (*GitApi) SortRepoByCommitNum

func (g *GitApi) SortRepoByCommitNum(logs []*RepoLogs)

func (*GitApi) SortRepoLogByFirstDiff

func (g *GitApi) SortRepoLogByFirstDiff(items []*RepoLogs)

func (*GitApi) StatusPorcelain

func (g *GitApi) StatusPorcelain() ([]string, error)

func (*GitApi) WorktreeIsClean

func (g *GitApi) WorktreeIsClean() (bool, error)

type GitDiffItem

type GitDiffItem struct {
	Dir            string
	FileChangedStr string
	InsertStr      string
	DeleteStr      string
	FileChangeNum  int
	InsertNum      int
	DeleteNum      int
}

type GitDiffItemList

type GitDiffItemList []*GitDiffItem

func (GitDiffItemList) Sort

func (g GitDiffItemList) Sort()

type GitDiffItemListStat

type GitDiffItemListStat struct {
	FileCount   int
	InsertCount int
	DeleteCount int
}

type GitDiffNumStat

type GitDiffNumStat struct {
	FileChangedList []string
}

type GitDiffShotStat

type GitDiffShotStat struct {
	FileChange  int
	InsertCount int
	DeleteCount int
}

type GitRemoteItem

type GitRemoteItem struct {
	ItemBase
	Name string
	Url  string
}

type ItemBase

type ItemBase struct {
	Dir string
}

type LogItem

type LogItem struct {
	Hash string
	Date time.Time
	Dir  string
}

type Option

type Option func(o *option)

func WithAddAll

func WithAddAll() Option

func WithDefaultLogItemNum

func WithDefaultLogItemNum() Option

func WithDefaultPrettyFormat

func WithDefaultPrettyFormat() Option

func WithExcludeExt

func WithExcludeExt(exclude []string) Option

func WithLogItemLimit

func WithLogItemLimit(limit int) Option

func WithLogNoPage

func WithLogNoPage() Option

func WithLogPrettyRFC3339

func WithLogPrettyRFC3339() Option

func WithNumStat

func WithNumStat() Option

func WithOnlyBackLanguage

func WithOnlyBackLanguage() Option

func WithOnlyFrontLanguage

func WithOnlyFrontLanguage() Option

func WithShortStat

func WithShortStat() Option

func WithSince

func WithSince(day uint) Option

func WithSinceDay

func WithSinceDay(day string) Option

func WithTargetExt

func WithTargetExt(ext string) Option

func WithUntilDay

func WithUntilDay(day string) Option

type RepoLogs

type RepoLogs struct {
	Dir           string
	Logs          []LogItem
	Length        int
	FromFirstDiff *GitDiffItem
}

type RepoRemotes

type RepoRemotes struct {
	ItemBase
	Remotes []GitRemoteItem
}

func (*RepoRemotes) IsHaveRemote

func (r *RepoRemotes) IsHaveRemote(name string) bool

type TwoLogItem

type TwoLogItem struct {
	Start *LogItem
	End   *LogItem
}

Jump to

Keyboard shortcuts

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