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

Re: [PATCHv2 5/6] gitweb: last-modified time should be commiter, not author

From
Jakub Narebski <jnareb@gmail.com>
Date
Feb 4, 2009, 23:38 UTC
Message-ID
<200902050038.57999.jnareb@gmail.com>
In-Reply-To
<1232970616-21167-6-git-send-email-giuseppe.bilotta@gmail.com>
On Mon, 26 Jan 2009, Giuseppe Bilotta wrote:
Show 7 quoted lines
> The last-modified time header added by RSS to increase cache hits from
> readers should be set to the date the repository was last modified. The
> author time in this respect is not a good guess because the last commit
> might come from a oldish patch.
> 
> Use the committer time for the last-modified header to ensure a more
> correct guess of the last time the repository was modified.

First, changing %latest_date from author time to committer time affects not only Last-Modified HTTP header, but (after this series) also various "publication dates" in the feed contents. But I think that for all those committer time is better approximation of publication date and last change date than author time.

Second, author time reflects when change (commit) was made, according to authors (perhaps skewed) clock. Committer time reflects when given commit (version of a commit) was entered into repository, or to be more exact into some clone of given project. But there is also an issue of when changes got into given instance of repository (given clone): that I guess might be found by stat-ing HEAD (if it arrived by commit), FETCH_HEAD (if it arrived by fetch or pull) and ??? (if it arrived by push)... err... it looks like it wouldn't work in most common case, sorry, unless we want to stat all refs and packed-refs file. But while this date might be better for Last-Modified, I'm not sure if it is good at all for publication date.

So committer time is better than author time, and looks like good middle ground.

Show 16 quoted lines
> 
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
> ---
>  gitweb/gitweb.perl |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 756868a..8c49c75 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -6015,7 +6015,7 @@ sub git_feed {
>  	}
>  	if (defined($commitlist[0])) {
>  		%latest_commit = %{$commitlist[0]};
> -		%latest_date   = parse_date($latest_commit{'author_epoch'});
> +		%latest_date   = parse_date($latest_commit{'committer_epoch'});
Nice and simple. Good.
Show 7 quoted lines
>  		print $cgi->header(
>  			-type => $content_type,
>  			-charset => 'utf-8',
> -- 
> 1.5.6.5
> 
> 
-- 
Jakub Narebski
Poland
Previous: Giuseppe BilottaNext: Giuseppe Bilotta
Message 10 of 37 in “[PATCHv2 0/6] gitweb: feed metadata enhancements”
  1. Giuseppe BilottaJan 26, 2009
  2. 1/6 gitweb: channel image in rss feedGiuseppe Bilotta, Jan 26, 2009
  3. 2/6 gitweb: feed generator metadataGiuseppe Bilotta, Jan 26, 2009
  4. 3/6 gitweb: rss feed managingEditorGiuseppe Bilotta, Jan 26, 2009
  5. 4/6 gitweb: rss channel dateGiuseppe Bilotta, Jan 26, 2009
  6. 5/6 gitweb: last-modified time should be commiter, not authorGiuseppe Bilotta, Jan 26, 2009
  7. 6/6 gitweb: check if-modified-since for feedsGiuseppe Bilotta, Jan 26, 2009
  8. Jakub NarebskiFeb 5, 2009
  9. Giuseppe BilottaFeb 6, 2009
  10. Jakub NarebskiFeb 4, 2009
  11. Giuseppe BilottaFeb 6, 2009
  12. Jakub NarebskiFeb 6, 2009
  13. Giuseppe BilottaFeb 6, 2009
  14. Deskin MillerFeb 11, 2009
  15. Giuseppe BilottaFeb 11, 2009
  16. Jakub NarebskiFeb 11, 2009
  17. Giuseppe BilottaFeb 11, 2009
  18. Deskin MillerFeb 12, 2009
  19. Jakub NarebskiFeb 12, 2009
  20. Giuseppe BilottaFeb 12, 2009
  21. Jakub NarebskiFeb 12, 2009
  22. Giuseppe BilottaFeb 12, 2009
  23. Jakub NarebskiFeb 4, 2009
  24. Giuseppe BilottaFeb 6, 2009
  25. Jakub NarebskiFeb 4, 2009
  26. Giuseppe BilottaFeb 6, 2009
  27. Jakub NarebskiFeb 4, 2009
  28. Giuseppe BilottaFeb 6, 2009
  29. Jakub NarebskiFeb 6, 2009
  30. Jakub NarebskiFeb 4, 2009
  31. Giuseppe BilottaFeb 6, 2009
  32. Junio C HamanoJan 28, 2009
  33. Jakub NarebskiJan 28, 2009
  34. Giuseppe BilottaJan 28, 2009
  35. Junio C HamanoJan 28, 2009
  36. Jakub NarebskiFeb 6, 2009
  37. Junio C HamanoFeb 7, 2009

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.