#!/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 ]