On Sun, 11 Jul 2010 09:16:26 +0200, Jakub Narebski <jnareb@xxxxxxxxx> wrote: > Dnia niedziela 11. lipca 2010 08:55, Clemens Buchacher napisał: >> 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. You could just change the reflog code so that if foo is a directory it looks for/creates foo/.reflog (the dot is to prevent a clash with a valid branch name)? >> 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. -- Julian -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html