All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Christopher Wilson <cwilson@cdwilson.us>
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Alejandro R. Sedeño" <asedeno@mit.edu>,
	git@vger.kernel.org
Subject: Re: [PATCH] Enable highlight executable path as a configuration option
Date: Mon, 20 Sep 2010 11:10:37 +0200	[thread overview]
Message-ID: <201009201110.38271.jnareb@gmail.com> (raw)
In-Reply-To: <4C96938C.5050505@cdwilson.us>

On Mon, 20 Sep 2010, Christopher Wilson wrote:

> Allow build-time/run-time configuration of the highlight executable. Defaults
> to previous behavior which assumes that highlight is available on the server
> PATH. However, if this is not the case, the path to the highlight executable
> can be configured at build time as a configuration variable
> 
>     HIGHLIGHT_BIN = /path/to/highlight
> 
> or at runtime by configuring GITWEB_CONFIG
> 
>     $highlight_bin = /path/to/highlight
> 
> Signed-off-by: Christopher Wilson <cwilson@cdwilson.us>

Good idea... but I am not sure about shell quoting and the problem
with spaces in pathnames.  See comments below.

> ---
>  gitweb/Makefile    |    4 +++-
>  gitweb/README      |    7 ++++++-
>  gitweb/gitweb.perl |    6 +++++-
>  3 files changed, 14 insertions(+), 3 deletions(-)

> diff --git a/gitweb/README b/gitweb/README
> index d481198..69f9860 100644
> --- a/gitweb/README
> +++ b/gitweb/README
> @@ -114,6 +114,9 @@ You can specify the following configuration variables when building GIT:
>     when gitweb.cgi is executed, then the file specified in the environment
>     variable will be loaded instead of the file specified when gitweb.cgi was
>     created.  [Default: /etc/gitweb.conf]
> + * HIGHLIGHT_BIN
> +   Path to the highlight executable to use. Useful if highlight is not
> +   installed on your webserver's PATH. [Default: highlight]
  
I think it needs to be said that this 'highlight' executable must be 
the one from http://www.andre-simon.de (assumptions about parameters and
output).
  
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index a85e2f6..e808485 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
[...]
> @@ -3360,7 +3364,7 @@ sub run_highlighter {
>  	close $fd
>  		or die_error(404, "Reading blob failed");
>  	open $fd, quote_command(git_cmd(), "cat-file", "blob", $hash)." | ".
> -	          "highlight --xhtml --fragment --syntax $syntax |"
> +	          "$highlight_bin --xhtml --fragment --syntax $syntax |"

I think you need 

  +	          quote_command($highlight_bin)." --xhtml --fragment --syntax $syntax |"

here

>  		or die_error(500, "Couldn't open file or run syntax highlighter");
>  	return $fd;
>  }
> -- 
> 1.7.2.3
> 
> 

-- 
Jakub Narebski
Poland

       reply	other threads:[~2010-09-20  9:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4C96938C.5050505@cdwilson.us>
2010-09-20  9:10 ` Jakub Narebski [this message]
2010-09-21  7:25   ` [PATCH] Enable highlight executable path as a configuration option Christopher Wilson
2010-09-21 19:09     ` Jakub Narebski
2010-09-19 22:29 Christopher Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201009201110.38271.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=asedeno@mit.edu \
    --cc=cwilson@cdwilson.us \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.