From: Junio C Hamano <junkio@cox.net>
To: Jakub Narebski <jnareb@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] gitweb: Add local time and timezone to git_print_authorship
Date: Mon, 28 Aug 2006 17:16:36 -0700 [thread overview]
Message-ID: <7vveocpfa3.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <11567998513000-git-send-email-jnareb@gmail.com> (Jakub Narebski's message of "Mon, 28 Aug 2006 23:17:31 +0200")
Jakub Narebski <jnareb@gmail.com> writes:
> Add local time (hours and minutes) and local timezone to the output of
> git_print_authorship command, used by git_commitdiff.
Looks nice, thanks.
Now I got envious seeing people are having SO MUCH FUN with
gitweb, so here is mine...
Likes, dislikes, "your color selection sucks ;-)",... ?
-- >8 --
gitweb: show age and author in blame output
This does two things.
- The commit object name link on each link uses "title", which
shows the author and age of the particular line when hovered
over.
- The background of these links are painted on darker color as
they become older and the links on younger lines are shown on
lighter background.
---
diff --git a/gitweb/gitweb.css b/gitweb/gitweb.css
index eb9fc38..008ee70 100644
--- a/gitweb/gitweb.css
+++ b/gitweb/gitweb.css
@@ -215,6 +215,12 @@ td.sha1 {
font-family: monospace;
}
+td.age-week { color: #00f; background-color: #fff; }
+td.age-month { color: #00f; background-color: #eef; }
+td.age-season { color: #00f; background-color: #ddf; }
+td.age-year { color: #00f; background-color: #ccf; }
+td.age-old { color: #00f; background-color: #bbf; }
+
td.error {
color: red;
background-color: yellow;
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 9324d71..7dbd40f 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2190,7 +2190,7 @@ sub git_blame2 {
if ($ftype !~ "blob") {
die_error("400 Bad Request", "Object is not a blob");
}
- open ($fd, "-|", git_cmd(), "blame", '-l', $file_name, $hash_base)
+ open ($fd, "-|", git_cmd(), "blame", '-l', '-t', $file_name, $hash_base)
or die_error(undef, "Open git-blame failed");
git_header_html();
my $formats_nav =
@@ -2211,12 +2211,21 @@ sub git_blame2 {
<table class="blame">
<tr><th>Commit</th><th>Line</th><th>Data</th></tr>
HTML
+ my $now = time();
while (<$fd>) {
- /^([0-9a-fA-F]{40}).*?(\d+)\)\s{1}(\s*.*)/;
- my $full_rev = $1;
+ my ($full_rev, $author, $timestamp, $zone, $lineno, $data) =
+ /^([0-9a-fA-F]{40})\s\((.*?)\s+(\d+)\s
+ ([-+\d]{5})\s+(\d+)\)\s{1}(\s*.*)/x;
my $rev = substr($full_rev, 0, 8);
- my $lineno = $2;
- my $data = $3;
+
+ my $age = $now - $timestamp;
+ my $ago = age_string($age);
+ my $pop = "$author, $ago";
+ my $agegroup =
+ (($age < 60*60*24*7) ? "age-week" :
+ ($age < 60*60*24*30) ? "age-month" :
+ ($age < 60*60*24*120) ? "age-season" :
+ ($age < 60*60*24*360) ? "age-year" : "age-old");
if (!defined $last_rev) {
$last_rev = $full_rev;
@@ -2225,7 +2234,8 @@ HTML
$current_color = ++$current_color % $num_colors;
}
print "<tr class=\"$rev_color[$current_color]\">\n";
- print "<td class=\"sha1\">" .
+ print "<td class=\"sha1 $agegroup\" title=\"" .
+ esc_html($pop) ."\">" .
$cgi->a({-href => href(action=>"commit", hash=>$full_rev, file_name=>$file_name)},
esc_html($rev)) . "</td>\n";
print "<td class=\"linenr\"><a id=\"l$lineno\" href=\"#l$lineno\" class=\"linenr\">" .
next prev parent reply other threads:[~2006-08-29 0:16 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-28 12:48 [PATCH 0/5] gitweb: Additions to commitdiff view Jakub Narebski
2006-08-28 12:48 ` [PATCH 1/5] gitweb: Make git_print_log generic; git_print_simplified_log uses it Jakub Narebski
2006-08-28 12:48 ` [PATCH 2/5] gitweb: Do not remove signoff lines in git_print_simplified_log Jakub Narebski
2006-08-28 12:48 ` [PATCH 3/5] gitweb: Add author information to commitdiff view Jakub Narebski
2006-08-28 12:48 ` [PATCH 4/5] gitweb: git_print_log: signoff line is non-empty line Jakub Narebski
2006-08-28 12:48 ` [PATCH 5/5] gitweb: Add diff tree, with links to patches, to commitdiff view Jakub Narebski
2006-08-28 17:26 ` [PATCH 0/5] gitweb: Additions " Linus Torvalds
2006-08-28 21:17 ` [PATCH] gitweb: Add local time and timezone to git_print_authorship Jakub Narebski
2006-08-29 0:16 ` Junio C Hamano [this message]
2006-08-29 8:23 ` Jakub Narebski
2006-08-29 9:05 ` Junio C Hamano
2006-08-29 10:15 ` Jakub Narebski
2006-08-30 4:26 ` Junio C Hamano
2006-08-30 9:47 ` Jakub Narebski
2006-08-29 9:06 ` [PATCH] gitweb: split output routine of blame2 Junio C Hamano
2006-08-29 9:06 ` [PATCH] gitweb: show rev only on the first line of each group in blame Junio C Hamano
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=7vveocpfa3.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.