On Fri, Jul 08, 2016 at 05:41:17PM -0700, Jacob Keller wrote:
On Thu, Jul 7, 2016 at 5:36 PM, Erik Johnson <palehose@xxxxxxxxx> 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
Attachment:
signature.asc
Description: PGP signature