X-Git-Url: https://git.ladys.computer/Gitweb/blobdiff_plain/d952c3d6af00cce2d2f7d52b1fabc367a0a1d60c475786aec332919cc48efa36..561f5e97af4f8e68918b71185996179f574c540a6d006f0dd6c7f3b4a83a50cb:/gitweb.perl diff --git a/gitweb.perl b/gitweb.perl index e4f292a..589cd08 100755 --- a/gitweb.perl +++ b/gitweb.perl @@ -5557,14 +5557,36 @@ sub git_remotes { or die_error(403, "Remote heads view is disabled"); my $head = git_get_head_hash($project); - git_header_html(); - git_print_page_nav('','', $head,undef,$head,format_ref_views('remotes')); - git_print_header_div('summary', $project); + my $remote = $input_params{'hash'}; + + my @remotelist; + + if (defined $remote) { + # only display the heads in a given remote, stripping the + # remote name which is already visible elsewhere + @remotelist = map { + my $ref = $_ ; + $ref->{'name'} =~ s!^$remote/!!; + $ref + } git_get_heads_list(undef, "remotes/$remote"); + } else { + @remotelist = git_get_heads_list(undef, 'remotes'); + } + + git_header_html(undef, undef, -action_extra => $remote); + git_print_page_nav('', '', $head, undef, $head, + format_ref_views($remote ? '' : 'remotes')); + + if (defined $remote) { + git_print_header_div('remotes', "$remote remote for $project"); + } else { + git_print_header_div('summary', "$project remotes"); + } - my @remotelist = git_get_heads_list(undef, 'remotes'); if (@remotelist) { git_heads_body(\@remotelist, $head); } + git_footer_html(); }