On Fri, Nov 14, 2008 at 7:40 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Giuseppe Bilotta <giuseppe.bilotta@xxxxxxxxx> writes: > >> The function checks if the HEAD for the current project is detached by >> checking if 'git branch' returns "* (no branch)" > > This one looks more like "oops, the way detached HEAD is detected in 08 is > sucky, let's cover it up by introducing a function as an afterthought." Half and half: it _is_ an afterthought, and although it's sucky that's not the reason why I decided to refactor it 8-) > Have a patch that introduces git_is_head_detached() first, and then use > that function to implement the feature. I personally think the user (that > is, 08/11) is small and isolated enough that these two can be a single > patch. Will do. I did some patch squashing while preparing this set, but I forgot to do this one. >> +# check if current HEAD is detached >> +sub git_is_head_detached { >> + my @x = (git_cmd(), 'branch'); >> + my @ret = split("\n", qx(@x)); >> + return 0 + grep { /^\* \(no branch\)$/ } @ret; >> +} > > Do not read from Porcelain in scripts. > > "git symbolic-ref HEAD" should error out when your HEAD is detached, and > will return refs/heads/frotz when you are on frotz branch. Eh, I was, like, 100% sure this was the wrong way to do it, but I didn't have any idea on how to do it using the plumbing. Thanks, I'll look into that. > But realistically speaking, what does it mean to have a detached HEAD in a > repository published via gitweb? First of all these things are supposed > to be bare and there would be no checkout. You know what's funny, when I first started working on the 'show remote branches in gitweb' patchset, you had a similar objection, but as you yourself pointed out > But obviously people use gitweb/instaweb as a way to view their > own live repository, and I think it makes sense to show and > support remotes/ in such a case. It also would make sense to > support detached HEAD there as well. http://kerneltrap.org/mailarchive/git/2007/8/30/256411 and that's exactly the reason why I added the part about the detached head 8-) I have been thinking about making this detached HEAD thing an additional option, but it _really_ seemed like overkill. -- Giuseppe "Oblomov" Bilotta -- 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