Web lists-archives.com

Re: "git branch -f" corrupt other worktree




On Thu, May 2, 2019 at 6:59 PM frank kulow <kulow.f@xxxxxxxxxxxxxx> wrote:
>
> git version 2.21.0.windows.1
>
> > /c/tmp/gt (Branch_702091a0)
> $ git worktree add ../wt master
> Preparing worktree (checking out 'master')
> HEAD is now at f534c32 4
>
> > /c/tmp/gt (Branch_702091a0)
> $ git branch -D master
> error: Cannot delete branch 'master' checked out at 'C:/tmp/wt'
>
> #but this is possible:
>
> > /c/tmp/gt (Branch_702091a0)
> $ git branch -f master HEAD

I admit I didn't see this. But I don't know how far we would go
protecting other worktrees. You give --force and that usually means
"Yes I know what I'm doing, don't stop me". If --force rejects in this
case, what would be the real force, --force --force maybe, or fall
back to "git update-ref"?

>
> #and the other worktree is now corrupted:
>
> > /c/tmp/wt (master)
> $ git status
> On branch master
> Changes to be committed:
>   (use "git reset HEAD <file>..." to unstage)
>
>         modified:   txt.txt
>         deleted:    txtb.txt
>
>
>
> greetings f.kulow



-- 
Duy