зеркало из https://github.com/microsoft/git.git
gitweb: Simplify (and fix) chop_str
The chop_str subroutine is meant to be used on strings (such as commit description / title) *before* HTML escaping, which means before applying esc_html or equivalent. Therefore get rid of the failed attempt to always remove full HTML entities (like e.g. & or ). It is not necessary (HTML entities gets added later), and it can cause chop_str to chop a string incorrectly. 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... Noticed-by: John 'Warthog9' Hawley <warthog9@kernel.org> Signed-off-by: John 'Warthog9' Hawley <warthog9@kernel.org> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
79286102ce
Коммит
57017b3e15
|
@ -1330,7 +1330,6 @@ sub chop_str {
|
|||
$str =~ m/^(.*?)($begre)$/;
|
||||
my ($lead, $body) = ($1, $2);
|
||||
if (length($lead) > 4) {
|
||||
$body =~ s/^[^;]*;// if ($lead =~ m/&[^;]*$/);
|
||||
$lead = " ...";
|
||||
}
|
||||
return "$lead$body";
|
||||
|
@ -1341,8 +1340,6 @@ sub chop_str {
|
|||
$str =~ m/^(.*?)($begre)$/;
|
||||
my ($mid, $right) = ($1, $2);
|
||||
if (length($mid) > 5) {
|
||||
$left =~ s/&[^;]*$//;
|
||||
$right =~ s/^[^;]*;// if ($mid =~ m/&[^;]*$/);
|
||||
$mid = " ... ";
|
||||
}
|
||||
return "$left$mid$right";
|
||||
|
@ -1352,7 +1349,6 @@ sub chop_str {
|
|||
my $body = $1;
|
||||
my $tail = $2;
|
||||
if (length($tail) > 4) {
|
||||
$body =~ s/&[^;]*$//;
|
||||
$tail = "... ";
|
||||
}
|
||||
return "$body$tail";
|
||||
|
|
Загрузка…
Ссылка в новой задаче