Skip to content

feat(worktrees): add Git Worktrees support #27

@CalvinAllen

Description

@CalvinAllen

Description

Add support for Git worktrees, allowing users to work with multiple branches simultaneously in separate working directories without needing to switch branches.

Features

Worktrees Tool Window

  • List all worktrees for the repository
  • Display for each worktree:
    • Path location
    • Branch name
    • HEAD commit
    • Status (clean/dirty)
  • Current worktree indicator

Worktree Actions

  • Create new worktree
    • From existing branch
    • From new branch
    • From commit/tag
  • Open worktree in new Visual Studio window
  • Delete worktree (with confirmation)
  • Lock/unlock worktree
  • Prune stale worktrees
  • Copy working changes to worktree

Create Worktree Dialog

  • Branch selection (existing or new)
  • Path location picker
  • Auto-generate path option
  • Create from detached HEAD option

Integration Points

  • Context menu in Branches view (Create Worktree)
  • Quick switch between worktrees
  • Status bar worktree indicator
  • Solution/project awareness per worktree

Configuration Options

  • Default worktree location pattern
  • Auto-open in new window toggle
  • Confirm before delete
  • Show worktree path in views

Related Issues

Note: This tool window provides a rich visual interface for worktree management. The same operations are also available via the Git Command Palette (#34) for users who prefer keyboard-driven workflows.

Acceptance Criteria

  • Worktrees tool window displays all worktrees
  • Create worktree works from branch/commit
  • Open in new window launches correctly
  • Delete removes worktree properly
  • Status accurately reflects worktree state
  • Integration with other views works

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestphase-4Phase 4: Advanced Featurespriority: lowLow priority item

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions