Re: [PATCHv5 2/5] gitweb: Incremental blame (using JavaScript)
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Nov 7, 2009, 11:04 UTC
- Message-ID
- <200911071204.53550.jnareb@gmail.com>
- In-Reply-To
- <20091105202202.GC17748@machine.or.cz>
On Thu, 5 Nov 2009, Petr Baudis wrote:
> > Many thanks for nurturing this patch.
You are welcome.
I have learned quite a bit about JavaScript when working on this patch...
Show 25 quoted lines
> On Tue, Sep 01, 2009 at 01:39:17PM +0200, Jakub Narebski wrote:
> > 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?In general it is insecure. In this specific situation it shouldn't.
[...]
Show 11 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.
Alternate solution would be to load for example jQuery for example hosted on Google as described in http://code.google.com/apis/ajaxlibs/documentation/
-- Jakub Narebski Poland