threads / discuss / 15607

What's cooking in gitweb (20 Sep 2008)

Subject: What's cooking in gitweb (20 Sep 2008)

## tl;dr

5 messages between Sep 20, 2008 and Sep 22, 2008.

replies: 4people: 3as markdown or json

Jakub Narebski· Sep 20, 2008, 23:38 UTC · lore

This is short summary of not-applied (and not ready to be applied) gitweb patches, in reverse chronological order, with most recent entries on top (first). Patches which probably should be resend, now that we are after 1.6.0 release

Junio, what about "[PATCH] avoid gitweb uninitialized value warning" (http://thread.gmane.org/gmane.comp.version-control.git/95028)? This is pure bugfix (well, warning fix, and failrly rare one, but warning which goes to web server logs).

$gmane=thread.gmane.org/gmane.comp.version-control.git
1. "gitweb pathinfo improvements" by Giuseppe Bilotta
   Message-ID: <1220435839-29360-1-git-send-email-giuseppe.bilotta@gmail.com>
   http://$gmane/94779
   Table of contents:
   ==================
    * [PATCH 1/5] gitweb: action in path with use_pathinfo
    * [PATCH 2/5] gitweb: use_pathinfo filenames start with /
    * [PATCH 3/5] gitweb: parse parent..current syntax from pathinfo
    * [PATCH 4/5] gitweb: use_pathinfo creates parent..current paths
    * [PATCH 5/5] gitweb: remove PATH_INFO from $my_url and $my_uri
   Need some refinement, especially with respect to _generating_
   path_info URLs inside gitweb.  Some patches (2 and 5) does not
   need correction, and probably should be sent as separate series.
   Author promised to resend series, if I remember correctly.
2. "[PATCH] gitweb: shortlog now also obeys $hash_parent" by Giuseppe Bilotta
   Message-ID: <1218204731-9931-1-git-send-email-giuseppe.bilotta@gmail.com>
   http://$gmane/91666
   Very good idea, but for the following two caveats.  The name
   '$commit_hash' is a bit strange to mean also revision range; passing
   "a..b" to parse_commits()... well, it is a good solution, but for me it
   feels a bit hacky.  But this is not something serious.
   More importnat fact is that I'd very much like for _all_ log-like views
   (perhaps with exception of feeds: Atom and RSS) to implement this
   feature.  This could be done by either doing it all in the same commit,
   doing commit series changing 'shortlog', 'log' and 'history' separately,
   or what I would prefer actually, to refactor generation of log-like views
   to use single worker/engine subroutine.
3. "[PATCH 1/1] Add "git" link to the end of project line on the
   project_list page." by John 'Warthog9' Hawley
   Message-ID: <1217815217-11329-2-git-send-email-warthog19@eaglescrag.net>
   http://$gmane/91305
   See also: http://$gmane/90778
   As it was said in the commit message (which should be line-wrapped by
   the way) it makes the assumption that each repository is available from
   unique location.  Both per-repo cloneurl and gitweb.url, and per
   instllation @git_base_url_list allow for multiple repository URLs.
   The problem of course is _which_ of those to choose for the targer of
   'git' links on projects list page.  And I don't think adding yet another
   prefix to generate $project URL is a good dolution; better to simply
   use first of URLs, and mention it both in comments in gitweb, and in
   gitweb/README.  Perhaps simply use first entry in @git_base_url_list.
   Commit message could be improved too.
3. "Re: [PATCH 0/3] Git::Repo API and gitweb caching" by Lea Wiemann
   Message-ID: <48A9CEC0.2020100@gmail.com>
   http://$gmane/92726
   Demo: http://odin3.kernel.org/git-lewiemann/
   Result of "gitweb caching" Google Summer of Code 2008 project.
   This is second resend of gitweb patch; the patches adding Mechanize
   test of gitweb output, and Git::Repo api had more revisions (reviews)
   on git mailing list.
   Quote (perhaps it is simply not possible...):
   > I unfortunately didn't end up being able to split up the third patch
   > (use Perl API in Gitweb, and add caching layer), since the two changes
   > are too intricately linked to be properly separated (I actually tried
   > splitting it two times, two different ways, and it just didn't work).
   Those patches, in particular the gitweb one, needs some review I think,
   as they affect quite a bit of code.
4. "[PATCH 0/2] gitweb use sections" by Gustavo Sverzut Barbieri
   Message-ID: <1217298868-16513-1-git-send-email-barbieri@profusion.mobi>
   http://$gmane/90553
   Demo: http://staff.get-e.org/
   Patches overview:
   ==================
   * [PATCH 1/2] gitweb: sort projects by path.
   * [PATCH 2/2] gitweb: add section support to gitweb project listing.
   What I'd like to have for first patch is at least estimating
   performance hit (if there is any), and an example where original old
   code sorts paths wrongly.
   Nevetheless I think it is a good idea to have.  I didn't reviewed the
   code though...
-- 
Jakub Narebski
Poland
Junio C Hamano· Sep 21, 2008, 04:54 UTC · re: Jakub Narebski · lore

Re: What's cooking in gitweb (20 Sep 2008)

Jakub Narebski <jnareb@gmail.com> writes:
> Junio, what about "[PATCH] avoid gitweb uninitialized value warning"
> (http://thread.gmane.org/gmane.comp.version-control.git/95028)? This
> is pure bugfix (well, warning fix, and failrly rare one, but warning
> which goes to web server logs).

Thanks for a summary. I think I've applied this one a few days ago to 'maint' and merged the result up.

Giuseppe Bilotta· Sep 21, 2008, 20:22 UTC · re: Jakub Narebski · lore

Re: What's cooking in gitweb (20 Sep 2008)

Hi Jakub, hi all,

sorry for the late reply, I was out of town and connectionless for two weeks and I'm getting back on track now.

Show 16 quoted lines
> 1. "gitweb pathinfo improvements" by Giuseppe Bilotta
>   Message-ID: <1220435839-29360-1-git-send-email-giuseppe.bilotta@gmail.com>
>   http://$gmane/94779
>
>   Table of contents:
>   ==================
>    * [PATCH 1/5] gitweb: action in path with use_pathinfo
>    * [PATCH 2/5] gitweb: use_pathinfo filenames start with /
>    * [PATCH 3/5] gitweb: parse parent..current syntax from pathinfo
>    * [PATCH 4/5] gitweb: use_pathinfo creates parent..current paths
>    * [PATCH 5/5] gitweb: remove PATH_INFO from $my_url and $my_uri
>
>   Need some refinement, especially with respect to _generating_
>   path_info URLs inside gitweb.  Some patches (2 and 5) does not
>   need correction, and probably should be sent as separate series.
>   Author promised to resend series, if I remember correctly.

I'll resend the whole series (plus an additional patch to fix an aesthetical issue I found recently) as soon as I fix the url generation for the dotted filename corner case (which by re-reading the past emails seemed to be the only significant issue, correct?). Should be shortly

Show 15 quoted lines
> 2. "[PATCH] gitweb: shortlog now also obeys $hash_parent" by Giuseppe Bilotta
>   Message-ID: <1218204731-9931-1-git-send-email-giuseppe.bilotta@gmail.com>
>   http://$gmane/91666
>
>   Very good idea, but for the following two caveats.  The name
>   '$commit_hash' is a bit strange to mean also revision range; passing
>   "a..b" to parse_commits()... well, it is a good solution, but for me it
>   feels a bit hacky.  But this is not something serious.
>
>   More importnat fact is that I'd very much like for _all_ log-like views
>   (perhaps with exception of feeds: Atom and RSS) to implement this
>   feature.  This could be done by either doing it all in the same commit,
>   doing commit series changing 'shortlog', 'log' and 'history' separately,
>   or what I would prefer actually, to refactor generation of log-like views
>   to use single worker/engine subroutine.

I agree that refactoring is probably the best idea. It will also take me some more time ;)

BTW, I haven't heard from Lea, so can I just assume that my patches don't touch any of her caching improvements?

-- 
Giuseppe "Oblomov" Bilotta
Jakub Narebski· Sep 22, 2008, 12:43 UTC · re: Giuseppe Bilotta · lore

Re: What's cooking in gitweb (20 Sep 2008)

Giuseppe Bilotta wrote:
> > 1. "gitweb pathinfo improvements" by Giuseppe Bilotta
[...]
Show 9 quoted lines
> >   Need some refinement, especially with respect to _generating_
> >   path_info URLs inside gitweb.  Some patches (2 and 5) does not
> >   need correction, and probably should be sent as separate series.
> >   Author promised to resend series, if I remember correctly.
> 
> I'll resend the whole series (plus an additional patch to fix an
> aesthetical issue I found recently) as soon as I fix the url
> generation for the dotted filename corner case (which by re-reading
> the past emails seemed to be the only significant issue, correct?).
I think it was the only significant issue (besides the fact that
two mentioned patches could be in separate series).  To be more
exact the issue was with generating gitweb URLs for sets of
parameters which cannot be represented as path_info URL.  One
example was filename with '..' in it, which cannot be used in
the following path_info form:
  $hash_parent_base:$file_parent..$hash_base:$filename
but it can be used in 'no name change' form
  $hash_parent_base..$hash_base:$filename
This requires fallback to 'query' form URL.

Other example was branch name with the same name as one of gitweb actions, which require action to be stated explicitly even if it is default action and otherwise could be omitted.

> Should be shortly.
I see that it is now. Thanks.
> > 2. "[PATCH] gitweb: shortlog now also obeys $hash_parent"
> > by Giuseppe Bilotta 
[...]
Show 9 quoted lines
> > More important fact is that I'd very much like for _all_ log-like
> > views (perhaps with exception of feeds: Atom and RSS) to implement
> > this feature.  This could be done by either doing it all in the same
> > commit, doing commit series changing 'shortlog', 'log' and 'history'
> > separately, or what I would prefer actually, to refactor generation
> > of log-like views to use single worker/engine subroutine.
> 
> I agree that refactoring is probably the best idea. It will also take
> me some more time ;)

But it has the advantage of making it easier to add more log-like views, like 'log' like view for the 'history' view, i.e. --pretty=full like view with path limiting.

I have thought about doing the refactoring (it is/was on my long-term
TODO list for gitweb), but I haven't even found good way to code it,
to be flexible but not too generalized.  Callbacks, perhaps?
 
> BTW, I haven't heard from Lea, so can I just assume that my patches
> don't touch any of her caching improvements?
-- 
Jakub Narebski
Poland
Giuseppe Bilotta· Sep 22, 2008, 16:51 UTC · re: Jakub Narebski · lore

Re: What's cooking in gitweb (20 Sep 2008)

On Mon, Sep 22, 2008 at 2:43 PM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 17 quoted lines
> Giuseppe Bilotta wrote:
>>
>> I'll resend the whole series (plus an additional patch to fix an
>> aesthetical issue I found recently) as soon as I fix the url
>> generation for the dotted filename corner case (which by re-reading
>> the past emails seemed to be the only significant issue, correct?).
>
> I think it was the only significant issue (besides the fact that
> two mentioned patches could be in separate series).  To be more
> exact the issue was with generating gitweb URLs for sets of
> parameters which cannot be represented as path_info URL.  One
> example was filename with '..' in it, which cannot be used in
> the following path_info form:
>  $hash_parent_base:$file_parent..$hash_base:$filename
> but it can be used in 'no name change' form
>  $hash_parent_base..$hash_base:$filename
> This requires fallback to 'query' form URL.
This is fixed in the resend.
> Other example was branch name with the same name as one of gitweb
> actions, which require action to be stated explicitly even if it
> is default action and otherwise could be omitted.
Generated urls now _always_ contain the action
Show 20 quoted lines
>> > 2. "[PATCH] gitweb: shortlog now also obeys $hash_parent"
>> > by Giuseppe Bilotta
> [...]
>> > More important fact is that I'd very much like for _all_ log-like
>> > views (perhaps with exception of feeds: Atom and RSS) to implement
>> > this feature.  This could be done by either doing it all in the same
>> > commit, doing commit series changing 'shortlog', 'log' and 'history'
>> > separately, or what I would prefer actually, to refactor generation
>> > of log-like views to use single worker/engine subroutine.
>>
>> I agree that refactoring is probably the best idea. It will also take
>> me some more time ;)
>
> But it has the advantage of making it easier to add more log-like
> views, like 'log' like view for the 'history' view, i.e. --pretty=full
> like view with path limiting.
>
> I have thought about doing the refactoring (it is/was on my long-term
> TODO list for gitweb), but I haven't even found good way to code it,
> to be flexible but not too generalized.  Callbacks, perhaps?

Actually, the only reason I mentioned it would take time was to explain why _that_ patch wouldn't be resent 'shortly' by me. I need to study the log/shortlog/history code better to get an idea of what might be a good refactoring strategy :)

-- 
Giuseppe "Oblomov" Bilotta

← back to recent threads