Description
This request proposes the implementation of Git Worktree support within the JGit core library and the subsequent surfacing of these features in the EGit UI.
Currently, JGit does not recognize the directory structure created by git worktree (specifically the .git file pointers and the worktrees/ folder within the administrative directory). As a result, EGit is unable to manage multiple checked-out branches simultaneously from a single local repository. The implementation would require:
Updating Repository discovery to handle $GIT_COMMON_DIR.
Decoupling Index and HEAD management so that JGit can operate on worktree-specific administrative files while sharing the object database.
Extending the EGit Repositories view to list, create, and remove worktrees.
Motivation
The primary motivation is to modernize the Eclipse development workflow for Parallel Development and AI-Driven Automation.
AI Agent Orchestration: Modern development increasingly relies on multiple AI agents (e.g., via MCP or local LLM frameworks) performing background tasks like unit test generation, linting, or documentation. Without worktree support, these agents must compete for the single working directory, causing constant "dirty state" conflicts and I/O-heavy branch switching. Worktrees allow agents to work in isolated silos in the background while the developer remains productive in the primary workspace.
Context Switching Overhead: Developers frequently need to address urgent hotfixes while in the middle of complex feature work. Worktrees allow for a "zero-overhead" context switch where a second branch can be opened in a separate Eclipse window without stashing or committing unfinished work.
CI/CD Parity: As Git Worktree becomes a standard part of the Git CLI workflow (and is already supported by competing IDEs), Eclipse requires this feature to remain a viable platform for high-velocity, multi-tasking engineering teams.
Alternatives considered
No response
Additional context
No response
Description
This request proposes the implementation of Git Worktree support within the JGit core library and the subsequent surfacing of these features in the EGit UI.
Currently, JGit does not recognize the directory structure created by git worktree (specifically the .git file pointers and the worktrees/ folder within the administrative directory). As a result, EGit is unable to manage multiple checked-out branches simultaneously from a single local repository. The implementation would require:
Updating Repository discovery to handle $GIT_COMMON_DIR.
Decoupling Index and HEAD management so that JGit can operate on worktree-specific administrative files while sharing the object database.
Extending the EGit Repositories view to list, create, and remove worktrees.
Motivation
The primary motivation is to modernize the Eclipse development workflow for Parallel Development and AI-Driven Automation.
AI Agent Orchestration: Modern development increasingly relies on multiple AI agents (e.g., via MCP or local LLM frameworks) performing background tasks like unit test generation, linting, or documentation. Without worktree support, these agents must compete for the single working directory, causing constant "dirty state" conflicts and I/O-heavy branch switching. Worktrees allow agents to work in isolated silos in the background while the developer remains productive in the primary workspace.
Context Switching Overhead: Developers frequently need to address urgent hotfixes while in the middle of complex feature work. Worktrees allow for a "zero-overhead" context switch where a second branch can be opened in a separate Eclipse window without stashing or committing unfinished work.
CI/CD Parity: As Git Worktree becomes a standard part of the Git CLI workflow (and is already supported by competing IDEs), Eclipse requires this feature to remain a viable platform for high-velocity, multi-tasking engineering teams.
Alternatives considered
No response
Additional context
No response