Documentation ¶
Index ¶
- Constants
- func IsHeadCommit(commits []*Commit, index int) bool
- func SetStatusFields(file *File, shortStatus string)
- type Branch
- func (b *Branch) Description() string
- func (b *Branch) FullRefName() string
- func (b *Branch) HasCommitsToPull() bool
- func (b *Branch) HasCommitsToPush() bool
- func (b *Branch) ID() string
- func (b *Branch) IsRealBranch() bool
- func (b *Branch) IsTrackingRemote() bool
- func (b *Branch) MatchesUpstream() bool
- func (b *Branch) ParentRefName() string
- func (b *Branch) RefName() string
- func (b *Branch) RemoteBranchNotStoredLocally() bool
- func (b *Branch) RemoteBranchStoredLocally() bool
- type Commit
- func (c *Commit) Description() string
- func (c *Commit) FullRefName() string
- func (c *Commit) ID() string
- func (c *Commit) IsFirstCommit() bool
- func (c *Commit) IsMerge() bool
- func (c *Commit) IsTODO() bool
- func (c *Commit) ParentRefName() string
- func (c *Commit) RefName() string
- func (c *Commit) ShortSha() string
- type CommitFile
- type CommitStatus
- type File
- func (f *File) Description() string
- func (f *File) GetHasStagedChanges() bool
- func (f *File) GetHasUnstagedChanges() bool
- func (f *File) GetIsFile() bool
- func (f *File) GetIsTracked() bool
- func (f *File) GetPath() string
- func (f *File) GetPreviousPath() string
- func (f *File) ID() string
- func (f *File) IsRename() bool
- func (f *File) IsSubmodule(configs []*SubmoduleConfig) bool
- func (f *File) Matches(f2 *File) bool
- func (f *File) Names() []string
- func (f *File) SubmoduleConfig(configs []*SubmoduleConfig) *SubmoduleConfig
- type IFile
- type Remote
- type RemoteBranch
- type StashEntry
- type StatusFields
- type SubmoduleConfig
- type Tag
Constants ¶
const ( // Conveniently for us, the todo package starts the enum at 1, and given // that it doesn't have a "none" value, we're setting ours to 0 ActionNone todo.TodoCommand = 0 )
const EmptyTreeCommitHash = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"
Special commit hash for empty tree object
Variables ¶
This section is empty.
Functions ¶
func IsHeadCommit ¶ added in v0.38.0
func SetStatusFields ¶ added in v0.36.0
Types ¶
type Branch ¶
type Branch struct { Name string // the displayname is something like '(HEAD detached at 123asdf)', whereas in that case the name would be '123asdf' DisplayName string Recency string Pushables string Pullables string UpstreamGone bool Head bool DetachedHead bool // if we have a named remote locally this will be the name of that remote e.g. // 'origin' or 'tiwood'. If we don't have the remote locally it'll look like // 'git@github.com:tiwood/lazygit.git' UpstreamRemote string UpstreamBranch string }
Branch : A git branch duplicating this for now
func (*Branch) Description ¶
func (*Branch) FullRefName ¶ added in v0.35.0
func (*Branch) HasCommitsToPull ¶ added in v0.30.1
func (*Branch) HasCommitsToPush ¶ added in v0.30.1
func (*Branch) IsRealBranch ¶ added in v0.30.1
for when we're in a detached head state
func (*Branch) IsTrackingRemote ¶ added in v0.30.1
func (*Branch) MatchesUpstream ¶ added in v0.30.1
func (*Branch) ParentRefName ¶ added in v0.35.0
func (*Branch) RemoteBranchNotStoredLocally ¶ added in v0.35.0
func (*Branch) RemoteBranchStoredLocally ¶ added in v0.32.2
we know that the remote branch is not stored locally based on our pushable/pullable count being question marks.
type Commit ¶
type Commit struct { Sha string Name string Status CommitStatus Action todo.TodoCommand Tags []string ExtraInfo string // something like 'HEAD -> master, tag: v0.15.2' AuthorName string // something like 'Jesse Duffield' AuthorEmail string // something like 'jessedduffield@gmail.com' UnixTimestamp int64 // SHAs of parent commits (will be multiple if it's a merge commit) Parents []string }
Commit : A git commit
func (*Commit) Description ¶
func (*Commit) FullRefName ¶ added in v0.35.0
func (*Commit) IsFirstCommit ¶ added in v0.35.0
func (*Commit) IsTODO ¶ added in v0.35.0
returns true if this commit is not actually in the git log but instead is from a TODO file for an interactive rebase.
func (*Commit) ParentRefName ¶ added in v0.35.0
type CommitFile ¶
type CommitFile struct { // TODO: rename this to Path Name string ChangeStatus string // e.g. 'A' for added or 'M' for modified. This is based on the result from git diff --name-status }
CommitFile : A git commit file
func (*CommitFile) Description ¶
func (f *CommitFile) Description() string
func (*CommitFile) ID ¶
func (f *CommitFile) ID() string
type CommitStatus ¶ added in v0.38.0
type CommitStatus int
const ( StatusNone CommitStatus = iota StatusUnpushed StatusPushed StatusMerged StatusRebasing StatusSelected StatusReflog )
type File ¶
type File struct { Name string PreviousName string HasStagedChanges bool HasUnstagedChanges bool Tracked bool Added bool Deleted bool HasMergeConflicts bool HasInlineMergeConflicts bool DisplayString string Type string // one of 'file', 'directory', and 'other' ShortStatus string // e.g. 'AD', ' A', 'M ', '??' }
File : A file from git status duplicating this for now
func (*File) Description ¶
func (*File) GetHasStagedChanges ¶ added in v0.27.1
func (*File) GetHasUnstagedChanges ¶ added in v0.27.1
func (*File) GetIsTracked ¶ added in v0.27.1
func (*File) GetPreviousPath ¶ added in v0.35.0
func (*File) IsSubmodule ¶
func (f *File) IsSubmodule(configs []*SubmoduleConfig) bool
func (*File) Matches ¶
returns true if the file names are the same or if a file rename includes the filename of the other
func (*File) Names ¶
Names returns an array containing just the filename, or in the case of a rename, the after filename and the before filename
func (*File) SubmoduleConfig ¶
func (f *File) SubmoduleConfig(configs []*SubmoduleConfig) *SubmoduleConfig
type IFile ¶ added in v0.27.1
type IFile interface { GetHasUnstagedChanges() bool GetHasStagedChanges() bool GetIsTracked() bool GetPath() string GetPreviousPath() string GetIsFile() bool }
sometimes we need to deal with either a node (which contains a file) or an actual file
type Remote ¶
type Remote struct { Name string Urls []string Branches []*RemoteBranch }
Remote : A git remote
func (*Remote) Description ¶
type RemoteBranch ¶
Remote Branch : A git remote branch
func (*RemoteBranch) Description ¶
func (r *RemoteBranch) Description() string
func (*RemoteBranch) FullName ¶
func (r *RemoteBranch) FullName() string
func (*RemoteBranch) FullRefName ¶ added in v0.35.0
func (r *RemoteBranch) FullRefName() string
func (*RemoteBranch) ID ¶
func (r *RemoteBranch) ID() string
func (*RemoteBranch) ParentRefName ¶ added in v0.35.0
func (r *RemoteBranch) ParentRefName() string
func (*RemoteBranch) RefName ¶
func (r *RemoteBranch) RefName() string
type StashEntry ¶
StashEntry : A git stash entry
func (*StashEntry) Description ¶
func (s *StashEntry) Description() string
func (*StashEntry) FullRefName ¶ added in v0.35.0
func (s *StashEntry) FullRefName() string
func (*StashEntry) ID ¶
func (s *StashEntry) ID() string
func (*StashEntry) ParentRefName ¶ added in v0.35.0
func (s *StashEntry) ParentRefName() string
func (*StashEntry) RefName ¶
func (s *StashEntry) RefName() string
type StatusFields ¶ added in v0.36.0
type SubmoduleConfig ¶
func (*SubmoduleConfig) Description ¶
func (r *SubmoduleConfig) Description() string
func (*SubmoduleConfig) ID ¶
func (r *SubmoduleConfig) ID() string
func (*SubmoduleConfig) RefName ¶
func (r *SubmoduleConfig) RefName() string
type Tag ¶
type Tag struct { Name string // this is either the first line of the message of an annotated tag, or the // first line of a commit message for a lightweight tag Message string }
Tag : A git tag