Hi Phillip On Tue, Apr 2, 2024 at 11:10 AM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote: > > Hi Tamir > > On 31/03/2024 07:49, Eric Sunshine wrote: > > [please reply inline rather than top-posting; I've moved your reply > > inline for this response] > > > > On Thu, Mar 28, 2024 at 1:40 PM Tamir Duberstein <tamird@xxxxxxxxxxxxxx> wrote: > >> On Thu, Mar 28, 2024 at 5:24 PM Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: > >>> On Thu, Mar 28, 2024 at 10:54 AM Tamir Duberstein <tamird@xxxxxxxxxxxxxx> wrote: > >>>> % git branch -d cleanup > >>>> error: cannot delete branch 'cleanup' used by worktree at '<my source dir>' > >>>> % git worktree list > >>>> <my source dir> dc46f6d5e [main] > >>>> % git branch > >>>> cleanup > >>>> * main > >>> > >>> Is this error persistent once it arises? That is, if you invoke `git > >>> branch -d cleanup` again immediately after (or a little while after) > >>> the above sequence, does the problem persist? Or does it "clear up" on > >>> its own at some point? > >> > >> Yes, the problem is persistent. The branch is never deleted. > > > > I'd guess that there may be some sort of "ref" still pointing at the > > "cleanup" branch which presumably was, at some point, checked out at > > "<my source dir>". Digging through the code[1,2,3] suggests that you > > might have some stale state from a rebase, bisect, or other sequencer > > operation which still references the "cleanup" branch. > > > > [Cc'ing Phillip who is probably much more familiar with this code than am I.] > > Thanks Eric. I'd have thought that "git worktree list" would say > something about the branch being rebased if there was enough state lying > around to prevent the branch being deleted, but lets see. What does > > ls $(git rev-parse --git-path rebase-merge) $(git rev-parse > --git-path rebase-apply) > > show when you run it in <my source dir>? Also is <my source dir> the > only worktree? % ls $(git rev-parse --git-path rebase-merge) $(git rev-parse --git-path rebase-apply) ls: .git/rebase-apply: No such file or directory ls: .git/rebase-merge: No such file or directory Yes, it's the only worktree. > Best Wishes > > Phillip > > > By the way, it's not clear from your initial report what you mean when > > you say "then the remote deleted the branch". Also, did you fetch > > and/or pull from the remote after that? > > > > [1]: https://github.com/git/git/blob/d6fd04375f91/branch.c#L454 > > [2]: https://github.com/git/git/blob/d6fd04375f91/branch.c#L386 > > [3]: https://github.com/git/git/blob/d6fd04375f91/sequencer.c#L6551