Re: gitweb and remote branches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 28 August 2007, Giuseppe Bilotta wrote:
> On 8/28/07, Giuseppe Bilotta <giuseppe.bilotta@xxxxxxxxx> wrote:
>>
>> I've given a better look at the code and I think I can whip up a patch
>> to implement the feature. I have no idea about how to create a new
>> option in gitweb though, so I'll have to leave it that to someone
>> else.
> 
> Ok, this is hopefully the last time I reply to myself. I'm inlining
> the quick'n'dirty patch I've whipped up, hoping that gmail doesn't
> destroy it too much..

For quick'n'dirty solution this might be enough. For proper patch to
be accepted I don't think so.

First, in the idea to show also remote branches (from refs/remotes),
I wanted to separate heads list from remotes list in the 'summary'
view, and add 'remotes' view or modify 'heads' view to accept some
parameter specyfying kind of refs.

Second, what was stopping me from implementing that was an idea to
separate remote branches into categories (like gitwbe-xmms2 categories
of projects) defined by the remote it belongs to. And this is not so
easy if we want to respect old .git/branches/ and .git/remotes/ remote
config in addition to new config based remote config.

> -- 
> Giuseppe "Oblomov" Bilotta
> 
> --- gitweb.cgi	2007-08-26 12:41:13.000000000 +0200
> +++ gitweb.cgi-my	2007-08-28 13:47:15.000000000 +0200

It is better to use git to manage source and to generate patches
(use git-format-patch, check Documentation/SubmittingPatches),
and use gitweb/gitweb.perl and not installed version.

[...]
> @@ -1677,8 +1677,9 @@ sub git_get_heads_list {
>  		my ($hash, $name, $title) = split(' ', $refinfo, 3);
>  		my ($committer, $epoch, $tz) =
>  			($committerinfo =~ /^(.*) ([0-9]+) (.*)$/);
> -		$name =~ s!^refs/heads/!!;
> +		$name =~ s!^refs/(head|remote)s/!!;
> 
> +		$ref_item{'class'}  = $1;
>  		$ref_item{'name'}  = $name;
>  		$ref_item{'id'}    = $hash;
>  		$ref_item{'title'} = $title || '(no commit message)';

Nice, although very minor nit: I'd use

> +		$ref_item{'class'} = $1;


> @@ -3237,8 +3238,10 @@ sub git_heads_body {
>  		$alternate ^= 1;
>  		print "<td><i>$ref{'age'}</i></td>\n" .
>  		      ($curr ? "<td class=\"current_head\">" : "<td>") .
> +		      "<span class=\"refs\"><span class=\"$ref{'class'}\">" .
>  		      $cgi->a({-href => href(action=>"shortlog", hash=>$ref{'name'}),
>  		               -class => "list name"},esc_html($ref{'name'})) .
> +		      "</span></span>" .
>  		      "</td>\n" .
>  		      "<td class=\"link\">" .
>  		      $cgi->a({-href => href(action=>"shortlog",
> hash=>$ref{'name'})}, "shortlog") . " | " .
> 

I don't understand this double span. First, you can set multiple
classes for HTML element by separating them by space, e.g.

		"<span class=\"refs\ $ref{'class'}\">"

And you could have given appropriate class to <td> or <a> element

-- 
Jakub Narebski
Poland
-
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux