aboutsummaryrefslogtreecommitdiffstats
path: root/t/lib-httpd/apply-one-time-perl.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-03-17 15:02:26 -0700
committerJunio C Hamano <gitster@pobox.com>2020-03-17 15:02:26 -0700
commit7be274b0ffc57b346837ab7fb36e8fcea1c38ddd (patch)
treea72c97a25b51473ee7b7d39698525c17f6260289 /t/lib-httpd/apply-one-time-perl.sh
parentMerge branch 'jk/run-command-formatfix' into maint (diff)
parentAzure Pipeline: switch to the latest agent pools (diff)
downloadgit-7be274b0ffc57b346837ab7fb36e8fcea1c38ddd.tar.gz
git-7be274b0ffc57b346837ab7fb36e8fcea1c38ddd.zip
Merge branch 'js/ci-windows-update' into maint
Updates to the CI settings. * js/ci-windows-update: Azure Pipeline: switch to the latest agent pools ci: prevent `perforce` from being quarantined t/lib-httpd: avoid using macOS' sed
Diffstat (limited to 't/lib-httpd/apply-one-time-perl.sh')
-rw-r--r--t/lib-httpd/apply-one-time-perl.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/t/lib-httpd/apply-one-time-perl.sh b/t/lib-httpd/apply-one-time-perl.sh
new file mode 100644
index 0000000000..09a0abdff7
--- /dev/null
+++ b/t/lib-httpd/apply-one-time-perl.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# If "one-time-perl" exists in $HTTPD_ROOT_PATH, run perl on the HTTP response,
+# using the contents of "one-time-perl" as the perl command to be run. If the
+# response was modified as a result, delete "one-time-perl" so that subsequent
+# HTTP responses are no longer modified.
+#
+# This can be used to simulate the effects of the repository changing in
+# between HTTP request-response pairs.
+if test -f one-time-perl
+then
+ LC_ALL=C
+ export LC_ALL
+
+ "$GIT_EXEC_PATH/git-http-backend" >out
+ perl -pe "$(cat one-time-perl)" out >out_modified
+
+ if cmp -s out out_modified
+ then
+ cat out
+ else
+ cat out_modified
+ rm one-time-perl
+ fi
+else
+ "$GIT_EXEC_PATH/git-http-backend"
+fi