diff --git a/pkg/commands/git_commands/worktree.go b/pkg/commands/git_commands/worktree.go index ce2d831c1..460a8b7f9 100644 --- a/pkg/commands/git_commands/worktree.go +++ b/pkg/commands/git_commands/worktree.go @@ -155,7 +155,17 @@ func linkedWortkreePaths() []string { result := []string{} worktreePath := filepath.Join(repoPath, ".git", "worktrees") // for each directory in this path we're going to cat the `gitdir` file and append its contents to our result - err := filepath.Walk(worktreePath, func(path string, info fs.FileInfo, err error) error { + + // ensure the directory exists + _, err := os.Stat(worktreePath) + if err != nil { + if errors.Is(err, fs.ErrNotExist) { + return result + } + log.Fatalln(err.Error()) + } + + err = filepath.Walk(worktreePath, func(path string, info fs.FileInfo, err error) error { if info.IsDir() { gitDirPath := filepath.Join(path, "gitdir") gitDirBytes, err := os.ReadFile(gitDirPath)