Skip to content

Feature Request: Git Worktree Support for JGit and EGit #264

@totomomooracle

Description

@totomomooracle

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions