git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 7/7] gitweb: group remote heads
Date: Wed, 22 Sep 2010 11:34:33 +0200	[thread overview]
Message-ID: <AANLkTimn3EfW3ZAZWeAoq7Jv5c4Hu5LM0K7UeE41Si-Z@mail.gmail.com> (raw)
In-Reply-To: <201009221034.10958.jnareb@gmail.com>

On Wed, Sep 22, 2010 at 10:34 AM, Jakub Narebski <jnareb@gmail.com> wrote:
> On Mon, Sep 20, 2010, Giuseppe Bilotta wrote:
>> On Mon, Sep 20, 2010 at 10:59 AM, Jakub Narebski <jnareb@gmail.com> wrote:
>>> Giuseppe Bilotta wrote:
>>>> On Mon, Sep 20, 2010 at 1:02 AM, Jakub Narebski <jnareb@gmail.com> wrote:
>
>>>>> The solution (1) i.e. limiting number of remote heads per remote, with
>>>>> or without limiting number of remotes behaves, as you wrote, most
>>>>> similarly to other components of 'summary' view.  On the other hand
>>>>> with large number of remotes, and large number of remote heads in those
>>>>> remotes it might be too large for a *summary* view.
>>>>
>>>> So you maintain that limiting the amount of data in summary view
>>>> should be primary wrt to limiting the amount of time?
>>>
>>> Well, what really affect gitweb performance is calling git commands, both
>>> because of fork overhead, and because it means disk access (and gitweb
>>> performance from what I have heard is affected mainly by IO, and not CPU).
>>> With grouping (displaying remotes) the difference between displaying
>>> remote-tracking branches (or information from them) and not displaying
>>> them is an argument to git-for-each-ref.  So I don't think it would
>>> affect performance much.
>>
>> Getting the list of remote branches is, I would say, the most
>> IO-intensive operation. I'm not sure how much I/O it would do though,
>> even with a large number of remotes and heads. So maybe always gather
>> all the information is the way to go.
>
> Well, that depends on the number of remote-tracking branches, and whether
> those refs are packed (see git-pack-refs).  But I agree that getting list
> of all remote branches might be I/O hit... though I am not sure if it
> would be large enough to visibly affect gitweb performance.
>
> By the way, besides the solution described below (list only remotes if
> there are many of them), we could make 'remote_heads' be not simply
> boolean, but to be multiple-choice feature, configuring how 'remotes'
> view and remotes section in 'summary' page looks like.  But that might
> be overengineering.

A config option for maximum number of remotes and maximum number of
heads per remotes (in summary) with sane defaults (16/16?) maybe?

>> What I had in mind was something that is very easy to implement with
>> CSS only.
>
> Do I understand correctly that you would utilize ':hover' pseudoclass
> and 'display: none;' style?  How ergonomic would this solution be?

That was my idea, yes. It _can_ get a little confusing without CSS3
transitions, due to the 'flash roll down' of the remote heads list. I
will try to cook up a preview sometime this week.

>>> P.S. It is not necessary for this series, but I think we should think
>>> about "single remote" view... also because your code currently links
>>> to such views, which do not exist yet (remotes/<remote> in path_info:
>>> how it would be represented in CGI query format?).
>>
>> Maybe pass the remote name as head parameter?
>
> In the meantime, while we don't have 'remote' view for a single remote
> (something like "git remote show"), it would be good if the header for
> individual remotes didn't lead to "'remotes/<remote>' action".

True. I'll fix that for the next rehash.

-- 
Giuseppe "Oblomov" Bilotta

  reply	other threads:[~2010-09-22  9:35 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-16  9:30 [PATCH 0/7] gitweb: allheads feature Giuseppe Bilotta
2010-09-16  9:30 ` [PATCH 1/7] gitweb: introduce remote_heads feature Giuseppe Bilotta
2010-09-16 21:41   ` Jakub Narebski
2010-09-17 15:39     ` Giuseppe Bilotta
2010-09-16  9:31 ` [PATCH 2/7] gitweb: git_get_heads_list accepts an optional list of refs Giuseppe Bilotta
2010-09-16 22:14   ` Jakub Narebski
2010-09-17 15:52     ` Giuseppe Bilotta
2010-09-16  9:31 ` [PATCH 3/7] gitweb: separate heads and remotes lists Giuseppe Bilotta
2010-09-16 10:19   ` Ævar Arnfjörð Bjarmason
2010-09-16 11:35     ` Giuseppe Bilotta
2010-09-16 22:30     ` Jakub Narebski
2010-09-16 22:54       ` Ævar Arnfjörð Bjarmason
2010-09-16 22:46   ` Jakub Narebski
2010-09-16  9:31 ` [PATCH 4/7] gitweb: link heads and remotes view Giuseppe Bilotta
2010-09-16 23:02   ` Jakub Narebski
2010-09-17 16:01     ` Giuseppe Bilotta
2010-09-16  9:31 ` [PATCH 5/7] gitweb: auxiliary functions to group data Giuseppe Bilotta
2010-09-16 10:26   ` Ævar Arnfjörð Bjarmason
2010-09-17  1:24   ` Jakub Narebski
2010-09-17  6:54     ` Giuseppe Bilotta
2010-09-17 16:06       ` Jakub Narebski
2010-09-17 16:41         ` Giuseppe Bilotta
2010-09-17 17:17           ` Jakub Narebski
2010-09-18  7:51             ` Giuseppe Bilotta
2010-09-16  9:31 ` [PATCH 6/7] gitweb: group styling Giuseppe Bilotta
2010-09-17 16:26   ` Jakub Narebski
2010-09-17 16:49     ` Giuseppe Bilotta
2010-09-17 17:22       ` Jakub Narebski
2010-09-16  9:31 ` [PATCH 7/7] gitweb: group remote heads Giuseppe Bilotta
2010-09-16 10:29   ` Ævar Arnfjörð Bjarmason
2010-09-16 11:36     ` Giuseppe Bilotta
2010-09-17 16:54   ` Jakub Narebski
2010-09-17 17:25     ` Jakub Narebski
2010-09-19  5:39     ` Giuseppe Bilotta
2010-09-19 23:02       ` Jakub Narebski
2010-09-20  8:15         ` Giuseppe Bilotta
2010-09-20  8:59           ` Jakub Narebski
2010-09-20  9:38             ` Giuseppe Bilotta
2010-09-22  8:34               ` Jakub Narebski
2010-09-22  9:34                 ` Giuseppe Bilotta [this message]
2010-09-16 21:26 ` [PATCH 0/7] gitweb: allheads feature Jakub Narebski
2010-09-17  7:24   ` Giuseppe Bilotta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTimn3EfW3ZAZWeAoq7Jv5c4Hu5LM0K7UeE41Si-Z@mail.gmail.com \
    --to=giuseppe.bilotta@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jnareb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).