Re: [PATCH v4 2/2] gitweb: use highlight's shebang detection

2016-09-28 Thread Ian Kelling
On Sun, Sep 25, 2016, at 11:04 AM, Jakub Narębski wrote:
> 
> For what it is worth it:
> 
> Acked-by: Jakub Narębski 
> 
> (but unfortunately *not* tested by).

Thank you for all your help.
--
Ian Kelling


Re: [PATCH v4 2/2] gitweb: use highlight's shebang detection

2016-09-25 Thread Jakub Narębski
W dniu 25.09.2016 o 00:32, Ian Kelling pisze:
> The "highlight" binary can, in some cases, determine the language type
> by the means of file contents, for example the shebang in the first line
> for some scripting languages.  Make use of this autodetection for files
> which syntax is not known by gitweb.  In that case, pass the blob
> contents to "highlight --force"; the parameter is needed to make it
> always generate HTML output (which includes HTML-escaping).
> 
> Although we now run highlight on files which do not end up highlighted,
> performance is virtually unaffected because when we call highlight, it
> is used for escaping HTML.  In the case that highlight is used, gitweb
> calls sanitize() instead of esc_html(), and the latter is significantly
> slower (it does more, being roughly a superset of sanitize()).  Simple
> benchmark comparing performance of 'blob' view of files without syntax
> highlighting in gitweb before and after this change indicates ±1%
> difference in request time for all file types.  Benchmark was performed
> on local instance on Debian, using Apache/2.4.23 web server and CGI.
> 
> Document the feature and improve syntax highlight documentation, add
> test to ensure gitweb doesn't crash when language detection is used.
> 
> Signed-off-by: Ian Kelling 

For what it is worth it:

Acked-by: Jakub Narębski 

(but unfortunately *not* tested by).

> ---
> 
> Notes:
> The only change from v3 is the commit message as suggested by Jakub
> Narębski
> 
>  Documentation/gitweb.conf.txt  | 21 ++---
>  gitweb/gitweb.perl | 10 +-
>  t/t9500-gitweb-standalone-no-errors.sh |  8 
>  3 files changed, 27 insertions(+), 12 deletions(-)