зеркало из https://github.com/microsoft/git.git
t/gitweb-lib: Split HTTP response with non-GNU sed
Recognizing \r in a regex is something GNU sed will do, but other sed implementation's won't (e.g. BSD sed on OS X). Instead of two sed invocations, use a single Perl script to split output into headers and body. Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b629275fd0
Коммит
f74a83fcf0
|
@ -52,8 +52,18 @@ gitweb_run () {
|
|||
rm -f gitweb.log &&
|
||||
perl -- "$SCRIPT_NAME" \
|
||||
>gitweb.output 2>gitweb.log &&
|
||||
sed -e '/^\r$/q' <gitweb.output >gitweb.headers &&
|
||||
sed -e '1,/^\r$/d' <gitweb.output >gitweb.body &&
|
||||
perl -w -e '
|
||||
open O, ">gitweb.headers";
|
||||
while (<>) {
|
||||
print O;
|
||||
last if (/^\r$/ || /^$/);
|
||||
}
|
||||
open O, ">gitweb.body";
|
||||
while (<>) {
|
||||
print O;
|
||||
}
|
||||
close O;
|
||||
' gitweb.output &&
|
||||
if grep '^[[]' gitweb.log >/dev/null 2>&1; then false; else true; fi
|
||||
|
||||
# gitweb.log is left for debugging
|
||||
|
|
Загрузка…
Ссылка в новой задаче