GitRoot
craft your forge, build your project, grow your community freely
1#!/usr/bin/env bash
2
3# SPDX-FileCopyrightText: 2026 Romain Maneschi <romain@gitroot.dev>
4#
5# SPDX-License-Identifier: EUPL-1.2
6
7SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
8
9source "${SCRIPT_DIR}/waitforlog.sh"
10source "${SCRIPT_DIR}/report.sh"
11
12SERVER_PORT="4545"
13SERVER_DATA_DIR="/tmp/gitrootData"
14
15# restart
16# If launched stop gitroot. Then start it from source and wait.
17function restart() {
18 APP=$(lsof -i tcp:${SERVER_PORT} | awk 'NR!=1 {print $2}')
19 if [ -z "$APP" ]; then
20 report "🟢 Gitroot not launched"
21 else
22 kill ${APP}
23 report "🟢 Gitroot killed"
24 fi
25 local lastKill="⌛ Will restart ($(date +%s))"
26 report "${lastKill}"
27 cd ${SCRIPT_DIR}/../../server
28 GIT_TRACE_PACKET=false go run -race . -data="${SERVER_DATA_DIR}" &>> /tmp/mylog.txt &
29 wait_for_logs "starting SSH server on" /tmp/mylog.txt "${lastKill}"
30}