mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-01-23 06:38:40 +00:00
64ac8440a7
The prime benefit being sought here is for large archives to not clog up the rendering process and cause unsightly proxy timeouts. As a secondary benefit, archive-in-progress is moved out of the way into a /tmp file so that new archival requests for the same commit will not get fulfilled based on an archive that isn't yet finished. This asynchronous system is fairly primitive; request comes in, we'll spawn off a new goroutine to handle it, then we'll mark it as done. Status requests will see if the file exists in the final location, and report the archival as done when it exists. Fixes #11265
25 lines
544 B
Bash
25 lines
544 B
Bash
#!/bin/sh
|
|
#
|
|
# An example hook script to make use of push options.
|
|
# The example simply echoes all push options that start with 'echoback='
|
|
# and rejects all pushes when the "reject" push option is used.
|
|
#
|
|
# To enable this hook, rename this file to "pre-receive".
|
|
|
|
if test -n "$GIT_PUSH_OPTION_COUNT"
|
|
then
|
|
i=0
|
|
while test "$i" -lt "$GIT_PUSH_OPTION_COUNT"
|
|
do
|
|
eval "value=\$GIT_PUSH_OPTION_$i"
|
|
case "$value" in
|
|
echoback=*)
|
|
echo "echo from the pre-receive-hook: ${value#*=}" >&2
|
|
;;
|
|
reject)
|
|
exit 1
|
|
esac
|
|
i=$((i + 1))
|
|
done
|
|
fi
|