Re: git branch doesn't allow me to forcibly delete branch which was checked out in a now-deleted worktree dir
- From
Erik Johnson <palehose@gmail.com>
- Date
- Jul 9, 2016, 02:22 UTC
- Message-ID
- <20160709022223.GC1916@gmail.com>
- In-Reply-To
- <CA+P7+xr_dYbno+JsTmaG+WWrgwsAXXGTyA6HL4A4A34ahHMD=Q@mail.gmail.com>
On Fri, Jul 08, 2016 at 05:41:17PM -0700, Jacob Keller wrote:
Show 24 quoted lines
>On Thu, Jul 7, 2016 at 5:36 PM, Erik Johnson <palehose@gmail.com> wrote: >> 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 disagree. git branch -d (should) fail to delete a branch when it is >checked out in a worktree. If the worktree is a persistent (ie: not >there due to removable media etc) directory then it *definitely* >shouldn't allow you to delete. > >It is possible we should update "git branch -d" should perform a >worktree prune first, since that would enable it to determine that you >deleted the directory, and any worktree which is removable should be >marked as persistent. > >Given that there is a known workaround (git worktree prune) and that >it is expected behavior for a branch checked out to prevent deletion, >I think the best coarse of action would be to patch git branch -d to >do a prune before attempting to delete. > >Thanks, >Jake
Well, I never mentioned -d (I was using -D), but I think we're both in agreement.
--
-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