From: Giuseppe Bilotta Date: Thu, 13 Nov 2008 22:49:14 GMT Subject: [PATCH v2 08/11] gitweb: display HEAD in heads list when detached Message-ID: <1226616555-24503-9-git-send-email-giuseppe.bilotta@gmail.com> In-Reply-To: <1226616555-24503-8-git-send-email-giuseppe.bilotta@gmail.com> Signed-off-by: Giuseppe Bilotta --- gitweb/gitweb.perl | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 09728cb..a168f6f 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2672,6 +2672,27 @@ sub git_get_heads_list { my @refs = map { "refs/$_" } @class; my @headslist; + if (grep { $_ eq 'heads' } @class) { + my @x = (git_cmd(), 'branch'); + my @ret = split("\n", qx(@x)); + if (grep { /^\* \(no branch\)$/ } @ret) { ; + my %ref_item; + @x = (git_cmd(), 'log', '-1', '--pretty=format:%H%n%ct%n%s'); + my ($hash, $epoch, $title) = split("\n", qx(@x), 3); + + $ref_item{'class'} = 'head'; + $ref_item{'name'} = 'HEAD'; + $ref_item{'id'} = $hash; + $ref_item{'title'} = $title || '(no commit message)'; + if ($ref_item{'epoch'} = $epoch) { + $ref_item{'age'} = age_string(time - $ref_item{'epoch'}); + } else { + $ref_item{'age'} = "unknown"; + } + push @headslist, \%ref_item; + } + } + open my $fd, '-|', git_cmd(), 'for-each-ref', ($limit ? '--count='.($limit+1) : ()), '--sort=-committerdate', '--format=%(objectname) %(refname) %(subject)%00%(committer)', -- 1.5.6.5