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: Mon, 20 Sep 2010 11:38:03 +0200 [thread overview]
Message-ID: <AANLkTi=20gzw8DOuT=NWRqbt86AyJDEPxoo-V9A3Rvim@mail.gmail.com> (raw)
In-Reply-To: <201009201059.07742.jnareb@gmail.com>
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.
>> > The solution (3) i.e. displaying only list of remotes (perhaps limited
>> > to 15 remotes) is simple and fast to render. On the other hand it offers
>> > least information and might be too little in the case of single remote.
>>
>> If time spent processing is not an issue, we can retrieve the number
>> of heads for each remote and display that, for example. Or even play
>> with some more dynamic stuff like making each group collapsible,
>> starting with it collapsed and then display the content when the user
>> hovers it with the mouse, for example.
>
> The dynamic stuff is IMHO a good idea... provided we can either do it
> without JavaScript, or we can ensure that browser supports JavaScript
> (see current hack used for turning 'blame' into 'blame_incremental'
> view in gitweb).
What I had in mind was something that is very easy to implement with CSS only.
> Yet another solution would be to display only abbreviated list of remotes
> if its more of them than some threshold, and list remotes with abbreviated
> list of remote-tracking branches if there are only a few remotes.
So something like this:
(1) if there are more than N remotes, only show N remote _names_ (no heads)
(2) if there are no more than N remotes, show all remote names, each
with no more than M heads
(with N and M to be decided, e.g. the usual 16)
>> Yes, this is something I have to take into consideration. Skip
>> displaying them is probably the best idea (unless we have other ways
>> to gather information about them).
>
> Right.
For this, it would be nice to have `git remote show`, but even if I
sent a patch to this effect gitweb should probably be left able to
cope with older git versions not supporting it ...
> 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?
--
Giuseppe "Oblomov" Bilotta
next prev parent reply other threads:[~2010-09-20 9:38 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 [this message]
2010-09-22 8:34 ` Jakub Narebski
2010-09-22 9:34 ` Giuseppe Bilotta
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='AANLkTi=20gzw8DOuT=NWRqbt86AyJDEPxoo-V9A3Rvim@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).