Re: bug report: spurious "cannot delete branch '%s' used by worktree"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux