Subject: [RFC] gitweb: Use feed link according to current view

From: Jakub Narebski <[email-masked]>
Date: Mon, 11 Feb 2008 19:00:12 +0100

Michael G. Noll said in comments to the "Switching my code repository
from Subversion (SVN) to git" article (http://tinyurl.com/37v67l) in
his "My digital moleskine" blog, that one of the things he is missing
in gitweb from SVN::Web is an RSS feed with news/information of the
current view (including RSS feed for single file or directory).

This is not exactly true, as since refactoring feed generation in
  "gitweb: Refactor feed generation, make output prettier,
   add Atom  feed"
  commit-af6feeb229110a0fa77a179c2655fca08e72f879
gitweb can generate feeds (RSS or Atom) for history of a given branch,
history limited to a given directory, or history of a given file.
Nevertheless this required handcrafting the URL to get wanted RSS
feed.

The question is what feeds should be shown, both in <link .../> in page 
header, and in [Atom][RSS] links at the bottom of the page. Some things 
are fairly obvious:
 * projects list page has OPML feed (I'm open to suggestions for better
   format) with list of feeds, one "'summary' page" feed per project
 * 'summary' page has feed(s) starting from HEAD (default: no arguments)
 * 'tree' view should have link to feed of a history of a directory
 * 'blob' and 'blame' views should have link to feed of a history
    of file
 * 'log' and 'shortlog' views should have feed from a given commit
 * 'history' view should have link to feed of a history of pathspec

Some things needs some considerations:
 * should 'commit' and 'commitdiff' views have feed of log
   starting from given commit (positive commit in the case of diff)?
 * should 'treediff' and 'blobdiff' have feed of history of given
   directory or a file, starting from the 'to' version?

For some views it is hard to find a feed:
 * for 'forks' view we could have OPML feed limited to forks
   of a projects, like for projects list page
 * for 'heads' and 'tags' we could have OPML of log feeds for
   branches and tags
 * Should for 'tag' view if it points to a commit, have feed
   like for 'commit' view?
 * What should be (if there should be any) feed for 'search'
   page?

And there are also pesky details. Should we offer in HTML <head> also
no-merges and first-parent (and no-merges + first-parent) versions
of feeds? Should we offer also follow version of a history of a file
feed? For example for 'blob' view should we also offer full log feed,
not only limited to given path? Should we always offer full feed
staring from HEAD (default feed)?

Thanks in advance for comments and answers.
-- 
Jakub Narebski
Poland