GitLens cannot show file changes from an interactive rebase todo
Description
When using VSCode as the editor for interactive rebase (git rebase -i), commands like "open changes" when activated from a commit details side panel spawned by clicking on a commit hash inside an interactive rebase preview (/path/to/repo/.git/worktrees/worktree-name/rebase-merge/git-rebase-todo), often fail, producing errors like:
Open File - Unable to open "relative/path"
Unable to open working file. File could not be found in the working tree
When they do work, the path displayed for the file at relative/path matches the main worktree (/path/to/repo/...) rather than the current worktree (/path/to/worktree/...), unlike when "Open changes with previous revision" is called from the context of an editor with the working directory inside the worktree (/path/to/worktree/relative/)
Looks like it might be caused by incorrectly identified worktree paths when opening git-rebase-todo, see the console output below.
Expected behavior
Instead of using the /path/to/repo/.git/worktrees/worktree-name/rebase-merge/ path inferred from the location of the git-rebase-todo file and trying to get the worktree location using rev-parse --show-toplevel, it should either explicitly use the path from .git/worktrees/worktree-name/gitdir or use a different mechanism that doesn't rely on the working directory being outside of .git.
GitLens Version
15.0.3
VS Code Version
Version: 1.89.1 Commit: dc96b837cf6bb4af9cd736aa3af08cf8279f7685 Date: 2024-05-07T05:14:24.611Z (1 wk ago) Electron: 28.2.8 ElectronBuildId: 27744544 Chromium: 120.0.6099.291 Node.js: 18.18.2 V8: 12.0.267.19-electron.0 OS: Darwin x64 23.4.0
Git Version
git version 2.44.0
Logs, Screenshots, Screen Captures, etc
[2024-05-20 12:54:12.715] [ 10ms] [/path/to/repo/.git/worktrees/worktree-name/rebase-merge] git rev-parse --show-toplevel • FAILED
Error: Command failed: /usr/local/bin/git -c core.quotepath=false -c color.ui=false rev-parse --show-toplevel
fatal: this operation must be run in a work tree