Re: Question about 'branch -d' safety
Dnia niedziela 11. lipca 2010 08:55, Clemens Buchacher napisał:
Show 11 quoted lines
> On Sat, Jul 10, 2010 at 02:57:35PM -0700, Jakub Narebski wrote:
> >
> > It's unfortunately not so easy. The problem you have to solve is D/F
> > conflict: if you have 'foo/bar' branch, you can't create 'foo' branch,
> > but after deleting 'foo/bar' you want to be able to create 'foo'
> > branch and reflog for 'foo' branch.
>
> I'm going to read up on Jonathan's pointers. But I do not really
> see the problem above. If the reflog already exists, the new branch
> simpliy continues using it. So if the branch is re-created, it's as
> if the branch had never been deleted.
The problem is, that when you have 'foo/bar' branch, then you have
'foo/bar' reflog. When you delete branch 'foo/bar', but do not delete
'foo/bar' reflog (only add to it branch deletion event), and then you
want to create 'foo' branch, git wouldn't be able to create reflog
fo 'foo' because of directory / file (D/F) conflict: there is 'foo/'
directory preventing file 'foo' from being created.
> Or possibly we add a special reflog entry which points the branch
> to a zero sha to signify that the branch had been deleted.
That is a good idea anyway.
--
Jakub Narebski
Poland