models

package
v0.38.1 Latest Latest
Warning

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

Go to latest
Published: May 2, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
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
)
View Source
const EmptyTreeCommitHash = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"

Special commit hash for empty tree object

Variables

This section is empty.

Functions

func IsHeadCommit added in v0.38.0

func IsHeadCommit(commits []*Commit, index int) bool

func SetStatusFields added in v0.36.0

func SetStatusFields(file *File, shortStatus string)

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 (b *Branch) Description() string

func (*Branch) FullRefName added in v0.35.0

func (b *Branch) FullRefName() string

func (*Branch) HasCommitsToPull added in v0.30.1

func (b *Branch) HasCommitsToPull() bool

func (*Branch) HasCommitsToPush added in v0.30.1

func (b *Branch) HasCommitsToPush() bool

func (*Branch) ID

func (b *Branch) ID() string

func (*Branch) IsRealBranch added in v0.30.1

func (b *Branch) IsRealBranch() bool

for when we're in a detached head state

func (*Branch) IsTrackingRemote added in v0.30.1

func (b *Branch) IsTrackingRemote() bool

func (*Branch) MatchesUpstream added in v0.30.1

func (b *Branch) MatchesUpstream() bool

func (*Branch) ParentRefName added in v0.35.0

func (b *Branch) ParentRefName() string

func (*Branch) RefName

func (b *Branch) RefName() string

func (*Branch) RemoteBranchNotStoredLocally added in v0.35.0

func (b *Branch) RemoteBranchNotStoredLocally() bool

func (*Branch) RemoteBranchStoredLocally added in v0.32.2

func (b *Branch) RemoteBranchStoredLocally() bool

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 (c *Commit) Description() string

func (*Commit) FullRefName added in v0.35.0

func (c *Commit) FullRefName() string

func (*Commit) ID

func (c *Commit) ID() string

func (*Commit) IsFirstCommit added in v0.35.0

func (c *Commit) IsFirstCommit() bool

func (*Commit) IsMerge

func (c *Commit) IsMerge() bool

func (*Commit) IsTODO added in v0.35.0

func (c *Commit) IsTODO() bool

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

func (c *Commit) ParentRefName() string

func (*Commit) RefName

func (c *Commit) RefName() string

func (*Commit) ShortSha

func (c *Commit) ShortSha() string

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 (f *File) Description() string

func (*File) GetHasStagedChanges added in v0.27.1

func (f *File) GetHasStagedChanges() bool

func (*File) GetHasUnstagedChanges added in v0.27.1

func (f *File) GetHasUnstagedChanges() bool

func (*File) GetIsFile added in v0.36.0

func (f *File) GetIsFile() bool

func (*File) GetIsTracked added in v0.27.1

func (f *File) GetIsTracked() bool

func (*File) GetPath added in v0.27.1

func (f *File) GetPath() string

func (*File) GetPreviousPath added in v0.35.0

func (f *File) GetPreviousPath() string

func (*File) ID

func (f *File) ID() string

func (*File) IsRename

func (f *File) IsRename() bool

func (*File) IsSubmodule

func (f *File) IsSubmodule(configs []*SubmoduleConfig) bool

func (*File) Matches

func (f *File) Matches(f2 *File) bool

returns true if the file names are the same or if a file rename includes the filename of the other

func (*File) Names

func (f *File) Names() []string

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

func (r *Remote) Description() string

func (*Remote) ID

func (r *Remote) ID() string

func (*Remote) RefName

func (r *Remote) RefName() string

type RemoteBranch

type RemoteBranch struct {
	Name       string
	RemoteName string
}

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

type StashEntry struct {
	Index int
	Name  string
}

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 StatusFields struct {
	HasStagedChanges        bool
	HasUnstagedChanges      bool
	Tracked                 bool
	Deleted                 bool
	Added                   bool
	HasMergeConflicts       bool
	HasInlineMergeConflicts bool
	ShortStatus             string
}

type SubmoduleConfig

type SubmoduleConfig struct {
	Name string
	Path string
	Url  string
}

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

func (*Tag) Description

func (t *Tag) Description() string

func (*Tag) FullRefName added in v0.35.0

func (t *Tag) FullRefName() string

func (*Tag) ID

func (t *Tag) ID() string

func (*Tag) ParentRefName added in v0.35.0

func (t *Tag) ParentRefName() string

func (*Tag) RefName

func (t *Tag) RefName() string

Jump to

Keyboard shortcuts

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