Subject: Re: [PATCH 2/2] gitweb: Fix chop_str to allow for & characters in strings

From: Jakub Narebski <[email-masked]>
Date: Tue, 02 Feb 2010 15:43:01 -0800 (PST)

"John 'Warthog9' Hawley" <[email-masked]> writes:

> I'm unsure why this was placed in their originally, and it seems to
> ultimately stem from code from before gitweb was merged into git core,
> but there's an instance where git chops a string incorrectly based on
> this.
> 
> Specifically:
> 
> 	API & protocol: support option to force written data immediately to disk
> 
> from http://git.kernel.org/?p=daemon/distsrv/chunkd.git;a=commit;h=3b02f749df2cb1288f345a689d85e7061f507e54
> 
> The short version of the title gets chopped to
> 
> 	API ...
> 
> where it should be
> 
> 	API & protocol: support option to force written data...
> 
> This reverts that specific problem.
> ---
>  gitweb/gitweb.perl |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 57771a0..4cc6d19 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -1382,7 +1382,6 @@ sub chop_str {
>  		my $body = $1;
>  		my $tail = $2;
>  		if (length($tail) > 4) {
> -			$body =~ s/&[^;]*$//;
>  			$tail = "... ";
>  		}
>  		return "$body$tail";

I think it is a good change.  chop_str is meant to be used _before_
HTML escaping (esc_html or equivalent) is to be applied; removed line
looks like it was meant (badly) to always remove HTML entities
fully... but those entities are only added later.

So now what is left is to come up with proper commit message, and add

Signed-off-by: John 'Warthog9' Hawley" <[email-masked]>
Acked-by: Jakub Narebski <[email-masked]>

-- 
Jakub Narebski
Poland
ShadeHawk on #git