Refactor the repo sync script to work in strict mode

This commit is contained in:
Ohad Livne 2025-07-12 23:32:20 +03:00
parent e0c33b01b7
commit 72e018514e
Signed by: libohad-dev
GPG key ID: 34FDC68B51191A4D

View file

@ -1,4 +1,7 @@
#! /usr/bin/sh #! /usr/bin/bash
set -euo pipefail
IFS=$'\n\t'
REPO_ROOT_FILE="$(systemd-path user-state-private)"/repo-roots/repo-roots REPO_ROOT_FILE="$(systemd-path user-state-private)"/repo-roots/repo-roots
@ -12,18 +15,27 @@ sync_repo () {
repo=$1 repo=$1
echo git-sync "${repo}" echo git-sync "${repo}"
set +e
( cd "${repo}" && "$(systemd-path user-state-private)"/git-sync/git-sync sync ) ( cd "${repo}" && "$(systemd-path user-state-private)"/git-sync/git-sync sync )
set -e
echo echo
} }
if [ "list" = "$1" ]; then case "${1:-sync}" in
while read -r repo_root; do "list")
list_repos "${repo_root}" while read -r repo_root; do
done < "${REPO_ROOT_FILE}" list_repos "${repo_root}"
else done < "${REPO_ROOT_FILE}"
while read -r repo_root; do ;;
for repo in $(list_repos "${repo_root}"); do "sync")
sync_repo "${repo}" while read -r repo_root; do
done for repo in $(list_repos "${repo_root}"); do
done < "${REPO_ROOT_FILE}" sync_repo "${repo}"
fi done
done < "${REPO_ROOT_FILE}"
;;
*)
echo Unknown option \""$1"\"
exit 1
;;
esac