mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 12:25:47 +02:00
Update worktree model
This commit is contained in:
parent
03f726038e
commit
7682ec029b
4 changed files with 18 additions and 20 deletions
|
@ -144,14 +144,7 @@ func (self *BranchLoader) obtainBranches() []*models.Branch {
|
|||
return nil, false
|
||||
}
|
||||
|
||||
branchDir := split[6]
|
||||
if len(branchDir) > 0 && branchDir != currentDir {
|
||||
// Ignore line because it is a branch checked out in a different worktree
|
||||
// Branches which are not checked out will not have a path, so we should not ignore them.
|
||||
return nil, false
|
||||
}
|
||||
|
||||
return obtainBranch(split), true
|
||||
return obtainBranch(split, currentDir), true
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -183,25 +176,28 @@ var branchFields = []string{
|
|||
}
|
||||
|
||||
// Obtain branch information from parsed line output of getRawBranches()
|
||||
func obtainBranch(split []string) *models.Branch {
|
||||
func obtainBranch(split []string, currentDir string) *models.Branch {
|
||||
headMarker := split[0]
|
||||
fullName := split[1]
|
||||
upstreamName := split[2]
|
||||
track := split[3]
|
||||
subject := split[4]
|
||||
commitHash := split[5]
|
||||
branchDir := split[6]
|
||||
checkedOutByOtherWorktree := len(branchDir) > 0 && branchDir != currentDir
|
||||
|
||||
name := strings.TrimPrefix(fullName, "heads/")
|
||||
pushables, pullables, gone := parseUpstreamInfo(upstreamName, track)
|
||||
|
||||
return &models.Branch{
|
||||
Name: name,
|
||||
Pushables: pushables,
|
||||
Pullables: pullables,
|
||||
UpstreamGone: gone,
|
||||
Head: headMarker == "*",
|
||||
Subject: subject,
|
||||
CommitHash: commitHash,
|
||||
Name: name,
|
||||
Pushables: pushables,
|
||||
Pullables: pullables,
|
||||
UpstreamGone: gone,
|
||||
Head: headMarker == "*",
|
||||
Subject: subject,
|
||||
CommitHash: commitHash,
|
||||
CheckedOutByOtherWorktree: checkedOutByOtherWorktree,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -44,8 +44,8 @@ func (self *WorktreeLoader) GetWorktrees() ([]*models.Worktree, error) {
|
|||
if strings.HasPrefix(splitLine, "worktree ") {
|
||||
path := strings.SplitN(splitLine, " ", 2)[1]
|
||||
currentWorktree = &models.Worktree{
|
||||
Id: len(worktrees),
|
||||
Path: path,
|
||||
IsMain: len(worktrees) == 0,
|
||||
Path: path,
|
||||
}
|
||||
} else if strings.HasPrefix(splitLine, "branch ") {
|
||||
branch := strings.SplitN(splitLine, " ", 2)[1]
|
||||
|
|
|
@ -26,6 +26,8 @@ type Branch struct {
|
|||
Subject string
|
||||
// commit hash
|
||||
CommitHash string
|
||||
|
||||
CheckedOutByOtherWorktree bool
|
||||
}
|
||||
|
||||
func (b *Branch) FullRefName() string {
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
// Worktree : A git worktree
|
||||
type Worktree struct {
|
||||
Id int
|
||||
IsMain bool
|
||||
Path string
|
||||
Branch string
|
||||
}
|
||||
|
@ -28,5 +28,5 @@ func (w *Worktree) Name() string {
|
|||
}
|
||||
|
||||
func (w *Worktree) Main() bool {
|
||||
return w.Id == 0
|
||||
return w.IsMain
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue