#! /usr/bin/sh REPO_ROOT_FILE="$(systemd-path user-state-private)"/repo-roots/repo-roots list_repos () { repo_root=$1 find "${repo_root}" -maxdepth 2 -name .git -type d -exec dirname {} \; } sync_repo () { repo=$1 echo git-sync -s "${repo}" ( cd "${repo}" && "$(systemd-path user-state-private)"/git-sync/git-sync -s sync ) echo } while read -r repo_root; do for repo in $(list_repos "${repo_root}"); do sync_repo "${repo}" done done < "${REPO_ROOT_FILE}"