From: Jonathan Müller Date: Wed, 20 May 2020 14:28:10 GMT Subject: Re: Bug: git worktree remove and overwritten directory Message-ID: In-Reply-To: On 20.05.20 16:22, Eric Sunshine wrote: > Git tries hard to prevent the same directory from being registered to > multiple worktrees, however, there is not much it can do to prevent a > person from shooting himself in the foot by making changes like this > outside of Git's control. Thus, this seems like a case of "if it > hurts, don't do it". > I agree and didn't expect git to "work". > However, "git worktree" could possibly do a better job of helping you > recover from such a situation. In particular, I think it should be > reasonably easy to enhance "git worktree prune" to detect this > situation and automatically prune the non-main now-bogus worktree > entry. At the very least, the somewhat confusing error message could be replaced by a "you messed up the worktrees, please delete the corresponding entry in .git/worktree" or something like that. But enhancing `git worktree prune` would be better. It was, in fact, the first command I ran to try and fix the problem. > It may be possible to special-case "git worktree remove" to detect > this situation and automatically prune the bogus entry too, but I'm > quite hesitant to suggest that sort of special case both because the > implementation would likely be ugly, and it could lead to a plethora > of additional ugly special-cases as people discover even more ways to > shoot themselves in the feet. As said above, I think git worktree remove could issue a better error if it detects multiple worktrees with an identical path.