From: Erik Johnson Date: Fri, 08 Jul 2016 00:36:46 GMT Subject: Re: git branch doesn't allow me to forcibly delete branch which was checked out in a now-deleted worktree dir Message-ID: <20160708003646.GB1916@gmail.com> In-Reply-To: On Thu, Jul 07, 2016 at 04:39:26PM -0700, Jacob Keller wrote: >On Thu, Jul 7, 2016 at 11:44 AM, Erik Johnson wrote: >> % git branch -D archive-extracted-xz >> error: Cannot delete branch 'archive-extracted-xz' checked out at >> '/home/erik/git/salt/archive-extracted-xz' >> % test -d /home/erik/git/salt/archive-extracted-xz || echo "directory >> doesn't exist" >> directory doesn't exist >> % git --version >> git version 2.9.0 >> >> I know that I can just get rid of this error by pruning the worktrees, >> but this still seems like incorrect behavior on the part of git branch. >> It shouldn't be telling me that the branch is checked out in a directory >> that does not exist, that is just factually incorrect. >> > >Until the worktree status is updated git branch probably isn't >checking itself. It might be worth triggering a worktree prune when >doing branch work. Note that some worktrees may be on removable media >or similar, and thus even if the directory doesn't exist right now, >that does not mean it's no longer checked out. There is already >support for setting a worktree as "persistent", but this means git >branch definitely shouldn't just do its own check for non existent >directory. > >Thanks, >Jake > I'm not expecting _any_ git branch command to prune worktrees, but a branch _deletion_ shouldn't fail because git thinks the branch is checked out in a worktree that doesn't exist anymore. Even in the scenario where the worktree corresponding to that branch is on removable media, does it really matter? You're trying to delete the branch. I feel like this is a recent change in behavior, too. I've been using worktrees since they were first available in 2.5, and I don't remember having to prune to be able to delete the branch until recently. -- -Erik "For me, it is far better to grasp the universe as it really is than to persist in delusion, however satisfying and reassuring." --Carl Sagan