Re: [PATCHv5 2/5] gitweb: Incremental blame (using JavaScript)
Hi!
Many thanks for nurturing this patch.
On Tue, Sep 01, 2009 at 01:39:17PM +0200, Jakub Narebski wrote:
Show 21 quoted lines
> Roads not taken (perhaps that should be part of commit message?):
> * Move most (or all) of "git blame --incremental" output parsing to
> server side, and instead of sending direct output in text/plain,
> send processed data in JSON format, e.g.
>
> {"commit": {
> "sha1": "e83c5163316f89bfbde7d9ab23ca2e25604af290",
> "info": "Kay Sievers, 2005-08-07 21:49:46 +0200",
> "author-initials": "KS",
> ...
> },
> "src-line": 13,
> "dst-line": 16,
> "numlines": 3,
> "filename": "README"
> }
>
> (line wrapping added for readibility). This would require however
> taking care on Perl side to send properly formatted JSON, and on
> JavaScript side including json2.js code to read JSON in gitweb.js
> (unless we rely on eval). I don't know that much about web programming, what is wrong with
relying on eval?
(BTW, I have always thought that somewhat inevitable course in the
future will be to provide a web API, and basing it on JSON is probably
most natural choice. However, such an initiative needs to come from
actual web programmers.)
Show 5 quoted lines
> * Using some lightweight JavaScript library (framework), like jQuery,
> Prototype, ExtJS, MooTools, etc. One one hand side this means not
> having to worry about browser incompatibilities as this would be
> taken care of by library; on the other hand side we want gitweb to
> have as few dependences as possible.
Normally, particular version of the library is simply included within
the project. E.g. in Girocco, I use MooTools for the tiny bit of
javascript I do. It is probably overkill to include it just for
incremental blame, but if we ever do much more, I think the much easier
web programming is worth the little trouble.
--
Petr "Pasky" Baudis
A lot of people have my books on their bookshelves.
That's the problem, they need to read them. -- Don Knuth