about summary refs log tree commit diff
path: root/t/lib-httpd/apply-one-time-sed.sh
blob: fcef72892547c70af0b33bdf96f0c5acb793ea9b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

# If "one-time-sed" exists in $HTTPD_ROOT_PATH, run sed on the HTTP response,
# using the contents of "one-time-sed" as the sed command to be run. If the
# response was modified as a result, delete "one-time-sed" 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 [ -e one-time-sed ]; then
	"$GIT_EXEC_PATH/git-http-backend" >out
	sed "$(cat one-time-sed)" <out >out_modified

	if diff out out_modified >/dev/null; then
		cat out
	else
		cat out_modified
		rm one-time-sed
	fi
else
	"$GIT_EXEC_PATH/git-http-backend"
fi