Files
devarea/scripts/clone-repos.sh
T
2026-08-01 17:20:12 +02:00

47 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# A TTG workspace repóinak leklónozása a kategória-mappás struktúrába
# a scripts/repos.list alapján.
#
# Használat:
# ./clone-repos.sh [cél-mappa]
#
# Cél-mappa nélkül a devarea checkout szülőkönyvtárába (a workspace
# gyökerébe) klónoz. A már létező mappákat kihagyja, így ismételten
# futtatható.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
ROOT="${1:-$(cd "$SCRIPT_DIR/../.." && pwd)}"
LIST="$SCRIPT_DIR/repos.list"
cloned=0
skipped=0
failed=0
while IFS='|' read -r path url; do
# kommentek és üres sorok
[[ -z "$path" || "$path" == \#* ]] && continue
target="$ROOT/$path"
if [ -e "$target/.git" ]; then
echo "skip $path (már létezik)"
skipped=$((skipped + 1))
continue
fi
mkdir -p "$(dirname "$target")"
if git clone "$url" "$target"; then
cloned=$((cloned + 1))
else
echo "HIBA $path ($url)" >&2
failed=$((failed + 1))
fi
done < "$LIST"
echo
echo "Kész: $cloned klónozva, $skipped kihagyva, $failed hiba."
[ "$failed" -eq 0 ]