xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
<root> / scripts / cache.sh (fb9cc89b98b9e5d201f44a33bc0ad161601811a4) (635B) (mode 100755) [raw]
#!/bin/bash

# This is a wrapper for cache.php, to not wait a lot after it exits

. /usr/share/rocketgit/scripts/common.sh

check_context

exec 100<>/var/lib/rocketgit/locks/cache.sh.lock

flock --exclusive --nonblock 100
if [ "${?}" != "0" ]; then
	exit 0
fi

# Be sure we are running under correct context
if [ -r /proc/self/attr/current ]; then
	grep -q rocketgit_t /proc/self/attr/current
	if [ "${?}" != "0" ]; then
		exit 0
	fi
fi

while [ 1 ]; do
	php /usr/share/rocketgit/scripts/cache.php

	# in case of errors, we will wait, to not go into an infinite loop
	if [ "${?}" != "0" ]; then
		sleep 10
	fi
done

flock --unlock 100
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master