git rebase interactive breaks when working on a secondary worktree ## What did you do before the bug happened? 1. `git clone` a repository. 2. `git worktree add` to have a second branch checked out in another directory. 3. Continue working as normal. The main branch has a bunch of extra commits (at the main worktree). 4. At the second worktree, after a while, try `git rebase -i hash_of_a_few_commits_ago`, or `git rebase -i main` (where main is the main branch at the main worktree). 5. Approve the plan, even without any changes. ## What did you expect to happen? It should work. ## What happened instead? I get this error: error: Your local changes to the following files would be overwritten by checkout: Followed by a list of several files that were NOT changed in my secondary branch at my secondary worktree. What's more, if I redo the `git rebase` but without `-i`, it works fine without any errors. ## What's different between what you expected and what actually happened? If I try following the exact same steps (the exact same git rebase -i) on the exact same branch, but this time having it checked out at the main worktree, then everything works. ## Anything else you want to add: I've been hitting this error for several months. It doesn't happen every time, it depends on the commits from both branches. Thus, it's hard for me to give you a minimal reproducible example git repository. Given the circumstances, I believe some part of the `git rebase --interactive` codepath is not working correctly with worktrees, and thus it's misbehaving. [System Info] git version: git version 2.49.0 cpu: arm64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh feature: fsmonitor--daemon libcurl: 8.7.1 zlib: 1.2.12 uname: Darwin 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:29 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6030 arm64 compiler info: clang: 17.0.0 (clang-1700.0.13.3) libc info: no libc information available $SHELL (typically, interactive shell): /bin/zsh [Enabled Hooks] applypatch-msg commit-msg post-applypatch post-checkout post-commit post-merge post-rewrite pre-applypatch pre-auto-gc pre-commit pre-merge-commit pre-push pre-rebase prepare-commit-msg -- Denilson Figueiredo de Sá Maia https://denilson.sa.nom.br/