git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/7] gitweb: allheads feature

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Sep 17, 2010, 07:24 UTC
Message-ID
<AANLkTinQaad7vDCqRKQkDcdRY=M+wLmx6eD3ftg6Nxh=@mail.gmail.com>
In-Reply-To
<201009162326.01656.jnareb@gmail.com>
2010/9/16 Jakub Narebski <jnareb@gmail.com>:
Show 18 quoted lines
> On Thu, 16 Sep 2010, Giuseppe Bilotta wrote:
>
>> This is a rehash of an old patchset of mine that got stalled waiting for
>> other independent patches to go in first, and then for me to get the
>> time to work on it again.
>>
>> The first 4 patches are IMO ready for inclusing in gitweb, and their
>> purpose is to introduce a new view (and a new summary block) that
>> display all the remote heads (assuming the feature is enabled).
>> Somebody suggested via email that this could even the basis for some
>> kind of 'social graph' for gitweb repositories, in a way similar to what
>> is found on sites like github or gitorious, but for me the feature in
>> itself can already be useful.
>
> We might want to make git-instaweb enable this feature (and probably
> other disabled-by-default features).  Otherwise some of information
> about git repository you examine is hidden.  So I agree that this
> feature is useful by itself.
I'll add a patch to that effect in the next iteration.
Show 11 quoted lines
>> The final result is rather curious and you can see it in action at
>> <http://git.oblomov.eu/rbot/remotes>, although it would be nice to find
>> a way to layout the blocks in a smarter way.
>
> Thanks for providing demo site.
>
> Note that clicking on header for remote block, which should lead to
> displaying of only single remote displays all remotes, see e.g.
> http://git.oblomov.eu/rbot/remotes/a3li.  Moreover when I tried to
> handcraft URL i.e. http://git.oblomov.eu/rbot/remote/a3li (with
> 'remote' rather than 'remotes' action) I get an empty list of heads.

The /remote/<thing> is just the standard behavior of git when any random string is passed as PATH_INFO (try http://git.oblomov.eu/rbot/whatever), so I cannot fix that unless I map remote to remotes. The remotes/<headname> is a TODO

(This led me to think: do we want heads/<headname> to point to the shortlog of that head? It currently does nothing)

> About layout of 'remotes' view: to have remotes information aligned
> we would have to either put everything in one single table (with remotes
> headers being "colspan"), or style them with minimum width (which could
> be good idea anyway).

I don't like the 'one single table' approach because, in contrast to the current approach it doesn't allow for automatic block rearrangement based on the window width. The minimum width helps align the blocks vertically, but it doesn't align the contents of the tables in it, so it's not really that big an improvement (actually, I find it even funnier that way because of the illusion of alignment provided by the blocks).

Show 18 quoted lines
>> What I really don't like (at the moment) is the way things come out
>> in summary view instead.
>
> What you don't like about it?  Should it be smarter and display only
> list of remotes, perhaps even limited to 15 elements, if there are many
> remote-tracking branches?  Or is it something else?
>
>> The issue there is that we only gather 16 remote heads, so some remotes
>> might have no branches displayed, but it becomes difficult to detect and
>> indicate when remotes have incomplete information being displayed. A
>> possible solution would be to call show-ref N times (N being the number
>> of remotes) with a limit of 16/N heads, but that can be a lot of calls.
>> So I'm open to suggestions on how to improve this part (maybe just show
>> a flat view in the remotes section of summary view?)
>
> Ah, I see...
>
> Alternatively we could use smart limiting on the gitweb side.

That was an option I was considering. I thought the limiting to 16 refs and tags in summary view was for performance reasons, so I thought that grabbing all remote heads would kind of kill the remote view, but for sure it's more efficient than doing a ref retrieval for each remote. OTOH, once we get all the refs, why would we only display some of them?

-- 
Giuseppe "Oblomov" Bilotta
Previous: Jakub Narebski
Message 42 of 42 in “gitweb: allheads feature”
  1. 0/7 gitweb: allheads featureGiuseppe Bilotta, Sep 16, 2010
  2. 1/7 gitweb: introduce remote_heads featureGiuseppe Bilotta, Sep 16, 2010
  3. Jakub NarebskiSep 16, 2010
  4. Giuseppe BilottaSep 17, 2010
  5. 2/7 gitweb: git_get_heads_list accepts an optional list of refs.Giuseppe Bilotta, Sep 16, 2010
  6. Jakub NarebskiSep 16, 2010
  7. Giuseppe BilottaSep 17, 2010
  8. 3/7 gitweb: separate heads and remotes listsGiuseppe Bilotta, Sep 16, 2010
  9. Ævar Arnfjörð BjarmasonSep 16, 2010
  10. Giuseppe BilottaSep 16, 2010
  11. Jakub NarebskiSep 16, 2010
  12. Ævar Arnfjörð BjarmasonSep 16, 2010
  13. Jakub NarebskiSep 16, 2010
  14. 4/7 gitweb: link heads and remotes viewGiuseppe Bilotta, Sep 16, 2010
  15. Jakub NarebskiSep 16, 2010
  16. Giuseppe BilottaSep 17, 2010
  17. 5/7 gitweb: auxiliary functions to group dataGiuseppe Bilotta, Sep 16, 2010
  18. Ævar Arnfjörð BjarmasonSep 16, 2010
  19. Jakub NarebskiSep 17, 2010
  20. Giuseppe BilottaSep 17, 2010
  21. Jakub NarebskiSep 17, 2010
  22. Giuseppe BilottaSep 17, 2010
  23. Jakub NarebskiSep 17, 2010
  24. Giuseppe BilottaSep 18, 2010
  25. 6/7 gitweb: group stylingGiuseppe Bilotta, Sep 16, 2010
  26. Jakub NarebskiSep 17, 2010
  27. Giuseppe BilottaSep 17, 2010
  28. Jakub NarebskiSep 17, 2010
  29. 7/7 gitweb: group remote headsGiuseppe Bilotta, Sep 16, 2010
  30. Ævar Arnfjörð BjarmasonSep 16, 2010
  31. Giuseppe BilottaSep 16, 2010
  32. Jakub NarebskiSep 17, 2010
  33. Jakub NarebskiSep 17, 2010
  34. Giuseppe BilottaSep 19, 2010
  35. Jakub NarebskiSep 19, 2010
  36. Giuseppe BilottaSep 20, 2010
  37. Jakub NarebskiSep 20, 2010
  38. Giuseppe BilottaSep 20, 2010
  39. Jakub NarebskiSep 22, 2010
  40. Giuseppe BilottaSep 22, 2010
  41. Jakub NarebskiSep 16, 2010
  42. Giuseppe BilottaSep 17, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.