Subject: Re: [PATCH] gitweb: Add local time and timezone to git_print_authorship

From: Jakub Narebski <[email-masked]>
Date: Wed, 30 Aug 2006 11:47:12 +0200

Junio C Hamano wrote:

> Jakub Narebski <[email-masked]> writes:
> 
>> Junio C Hamano wrote:
>>
>>>  (3) I'd like to eventually get rid of the abbreviated commit
>>>      object name from blame output, so the setting in gitweb.css
>>>      for table.blame td.age[012] (different colors and font
>>>      styles) is not appropriate for what I am shooting at.
>>
>> What do you want to replace it with? Link can be to "commit" 
>> or "commitdiff" view, but some marker for commit 
>> (perhaps 'git-name-rev --tags'?) is needed.
> 
> I was hoping I can get away with a narrow single column of solid
> color that says nothing.  8 hexadecimal digits do not mean much
> to humans and it is taking 8-column or so of screen real estate
> that could otherwise be used to show the source lines instead.

I don't think that is much an issue. Source code is usually (read:
should be) 80-columns wide, and with default font size there is
certainly place for 8-column revision number. Anything more, and
much more (like e.g. default git_blame a.k.a. git_annotate output)
and it is less readable.

> I've tried doing that (just set $rev to a single space, and make
> the "Commit" column narrower in sub blame2 {}).  One drawback is
> that while 8 hexadecimal digits do not mean anything they do
> help to match lines that came from the same rev (i.e. "I do not
> know what this 8fad7343 mean but this group of lines and that
> group are tagged together with that same 8fad7343 so they must
> come from the same revision").

So what you need is to solve graph coloring problem (which is not
map coloring, as the same revisions needs the same color) for 
revisions ;-) 

I have an idea to use first character of commit hash together with
dark/light (odd/even) class to color blocks of lines in the same 
revisions, 16 colors (we could reduce it to e.g. 6 or 8 colors)
with darker/lighter version.

The problem is to reduce hash to 16 or 8 bits with as small number of
collisions as possible (in average).

Yet another blame improvement idea would be to "highlight" whole _block_
on hover (on mouseover), but it needs changing blame output format from
table to divs (like "blob" view). BTW. table view should be I think
reserved for tabular data, i.e. when sorting by at least some of columns
have sense.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git