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 <i...@iankelling.org>
For what it is worth it: Acked-by: Jakub Narębski <jna...@gmail.com> (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(-)