Subject: Re: gitweb: please show tags file history browsing

From: Jakub Narebski <[email-masked]>
Date: Sun, 12 Sep 2010 17:19:31 +0200

On Sun, 12 Sep 2010, Tjernlund wrote:
>> -----Original Message-----
>> From: Jakub Narebski [mailto:[email-masked]]
>> On Sun, 12 Sep 2010, Tjernlund wrote:
>>>> -----Original Message-----
>>>> From: Jakub Narebski [mailto:[email-masked]]
>>>>
>>>> "Tjernlund" <[email-masked]> writes:
>>>>
>>>>> I would really like to see where the tags are when browsing
>>>>> file or directory history in gitweb. Would that be possible?
>> 
>>>> While it probably be possible to show tags in 'history' view, it would
>>>> be not easy.  The problem is that 'history' view shows only commits
>>>> that touch specified file or directory, and tagged commits usually do
>>>> not touch those files (at least if one is using "bump version number"
>>>> commits to tag them).
>>>>
>>>> So you would have:
>>>> 1. Design where to show those tags - they would be between shown
>>>>    commits.
>>>> 2. Create code which shows some/all tags that are between commits in
>>>>    the presence of nonlinear history, without affecting performance
>>>>    too badly.
>>>
>>> Ah, that is too bad because I think it would really useful.
>>> Image browsing a drivers history in the linux kernel. Then it would be
>>> really nice to see what changes/bug fixes went into what release.
>> 
>> First, you can help with the first issue even if you can't help with
>> the coding itself.
> 
> I like the gitk way of showing tags, won't that work in gitweb too?

Err... "gitk" shows tags, but so does 'shortlog' and 'log' view in
gitweb.  The 'history' view in gitweb doesn't show intermediate tags,
but neither does "gitk -- <path>".

>> Second, with single 'git name-rev --tags --stdin' or with '--decorate'
>> or '%d' in format we could (I think) either display at least some tags,
>> or name-rev decorations, i.e. something like:
>> 
>>   (v1.7.3-rc0~38) gitweb: Don't die_error in git_tag after already printing headers
>>   (v1.7.3-rc0~44) Merge branch 'maint'
>>   (v1.7.2.3~15) Typos in code comments, an error message, documentation
>>   (v1.7.3-rc0~85) Merge branch 'jn/maint-gitweb-dynconf'
>>   (v1.7.3-rc0~92) Merge branch 'maint'
>>   (v1.7.2.2~12) gitweb: clarify search results page when no matching commit found
>>   [...]
>> 
>> If we want to display all tags we would have IIUC extend git-log to
>> generate such information.
> 
> if displaying tags is a too expensive operation one could have a knob
> in gitweb to get at the tags.

Good thinking.  We have such knobs, so called 'features', for 'pickaxe'
and for 'grep' searches (both which can be expensive).

-- 
Jakub Narebski
Poland