initial commit
This commit is contained in:
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Összeveti a scripts/repos.list klón listát a Gitea szerver tartalmával
|
||||
# (tea repo list --output json).
|
||||
#
|
||||
# - HIÁNYZIK: a szerveren létezik, de nincs a klón listában és a
|
||||
# repos.ignore-ban sem
|
||||
# - FELESLEG: a listában Gitea repóként szerepel, de a szerveren nincs
|
||||
#
|
||||
# Kilépési kód: 0, ha minden stimmel; 1, ha bármelyik listában van találat.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
LIST="$SCRIPT_DIR/repos.list"
|
||||
IGNORE="$SCRIPT_DIR/repos.ignore"
|
||||
GITEA_HOST="git.teletypegames.org"
|
||||
|
||||
command -v tea >/dev/null 2>&1 || {
|
||||
echo "HIBA: nincs tea CLI. Futtasd: make tea" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Szerveren lévő repók: owner/name
|
||||
server=$(tea repo list --output json --limit 1000 | jq -r '.[] | .owner + "/" + .name' | sort)
|
||||
|
||||
# A klón listában szereplő Gitea repók: owner/name a clone URL-ből
|
||||
listed=$(sed -nE "s#^[^|#]+\|ssh://git@${GITEA_HOST}:[0-9]+/(.+)\$#\1#p" "$LIST" | sed 's/\.git$//' | sort)
|
||||
|
||||
# Szándékosan kihagyott repók
|
||||
ignored=$(sed -e 's/#.*//' -e '/^[[:space:]]*$/d' "$IGNORE" 2>/dev/null | sort || true)
|
||||
|
||||
missing=$(comm -23 <(echo "$server") <(sort -u <(echo "$listed") <(echo "$ignored")))
|
||||
stale=$(comm -13 <(echo "$server") <(echo "$listed"))
|
||||
|
||||
status=0
|
||||
|
||||
if [ -n "$missing" ]; then
|
||||
echo "HIÁNYZIK a klón listából (a szerveren létezik):"
|
||||
echo "$missing" | sed 's/^/ - /'
|
||||
status=1
|
||||
fi
|
||||
|
||||
if [ -n "$stale" ]; then
|
||||
echo "FELESLEG a klón listában (a szerveren nincs):"
|
||||
echo "$stale" | sed 's/^/ - /'
|
||||
status=1
|
||||
fi
|
||||
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK: a klón lista lefedi a szerver mind a(z) $(echo "$server" | wc -l | tr -d ' ') repóját ($(echo "$ignored" | grep -c . || true) szándékosan kihagyva)."
|
||||
fi
|
||||
|
||||
exit "$status"
|
||||
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/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 ]
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# A tea (Gitea CLI) telepítése, ha még nincs fent, és a login ellenőrzése.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
GITEA_URL="https://git.teletypegames.org"
|
||||
|
||||
if command -v tea >/dev/null 2>&1; then
|
||||
echo "tea már telepítve: $(command -v tea) ($(tea --version | head -1))"
|
||||
else
|
||||
if ! command -v brew >/dev/null 2>&1; then
|
||||
echo "HIBA: nincs se tea, se Homebrew. Telepítsd kézzel:" >&2
|
||||
echo " https://gitea.com/gitea/tea/releases" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "tea telepítése Homebrew-val..."
|
||||
brew install tea
|
||||
fi
|
||||
|
||||
# Login ellenőrzés: enélkül a tea repo list nem működik.
|
||||
if tea login list --output json 2>/dev/null | grep -q '"name"'; then
|
||||
echo "tea login OK:"
|
||||
tea login list
|
||||
else
|
||||
echo
|
||||
echo "Még nincs tea login beállítva. Hozz létre egyet:"
|
||||
echo " tea login add --name ttg --url $GITEA_URL"
|
||||
echo "(token generálás: $GITEA_URL/user/settings/applications)"
|
||||
exit 1
|
||||
fi
|
||||
@@ -0,0 +1,4 @@
|
||||
# Szerveren létező repók, amelyeket szándékosan NEM klónozunk.
|
||||
# Formátum: <owner>/<name>, soronként egy. A check-repos.sh ezeket nem
|
||||
# jelzi hiányzóként.
|
||||
mr.zero/nas-website
|
||||
@@ -0,0 +1,59 @@
|
||||
# A TTG workspace repói: <workspace-relatív út>|<clone URL>
|
||||
# A clone-repos.sh és a check-repos.sh közös adatfájlja.
|
||||
#
|
||||
# Nem klónozható (ezért nincs a listában):
|
||||
# - demos/new-game-wireframe — lokális repo, nincs remote-ja
|
||||
# - demos/escoria-demo-game-main — sima letöltött mappa, nem git repo
|
||||
# - media/, archive egyéb tartalma — nem git repók
|
||||
# Szándékosan kihagyott szerver-repók: lásd repos.ignore
|
||||
|
||||
devarea|ssh://git@git.teletypegames.org:2222/tools/devarea
|
||||
teletypegames|git@github.com:rastasi/teletypegames.git
|
||||
wiki-pages|ssh://git@git.teletypegames.org:2222/internal/wiki-pages
|
||||
|
||||
archive/mranderson|ssh://git@git.teletypegames.org:2222/games/mranderson
|
||||
|
||||
demos/bevy-demo|ssh://git@git.teletypegames.org:2222/games/bevy-demo
|
||||
demos/c64-demo|ssh://git@git.teletypegames.org:2222/games/c64-demo
|
||||
demos/c64-demo-cpp|ssh://git@git.teletypegames.org:2222/games/c64-demo-cpp
|
||||
demos/ebitengine-demo|ssh://git@git.teletypegames.org:2222/games/ebitengine-demo
|
||||
demos/inkwell-demo|ssh://git@git.teletypegames.org:2222/games/inkwell-demo
|
||||
demos/love-demo|ssh://git@git.teletypegames.org:2222/games/love-demo
|
||||
demos/phaser-demo|ssh://git@git.teletypegames.org:2222/games/phaser-demo
|
||||
demos/trickster-tiles|ssh://git@git.teletypegames.org:2222/games/trickster-tiles
|
||||
|
||||
games/blessingofra|ssh://git@git.teletypegames.org:2222/games/blessingofra
|
||||
games/bombexpert|ssh://git@git.teletypegames.org:2222/games/bombexpert
|
||||
games/impostor|ssh://git@git.teletypegames.org:2222/games/impostor
|
||||
games/nyuller|ssh://git@git.teletypegames.org:2222/games/nyuller
|
||||
games/pong|ssh://git@git.teletypegames.org:2222/games/pong
|
||||
games/rabbitc64|ssh://git@git.teletypegames.org:2222/games/rabbitc64
|
||||
games/rabbitroller|ssh://git@git.teletypegames.org:2222/games/rabbitroller
|
||||
games/realworld|ssh://git@git.teletypegames.org:2222/games/realworld
|
||||
|
||||
tools/backup-scripts|ssh://git@git.teletypegames.org:2222/internal/backup-scripts
|
||||
tools/blog-writer|ssh://git@git.teletypegames.org:2222/tools/blog-writer
|
||||
tools/nginx-conf|ssh://git@git.teletypegames.org:2222/internal/nginx-conf
|
||||
tools/redmine-tree|ssh://git@git.teletypegames.org:2222/tools/redmine-tree
|
||||
tools/social-updater|ssh://git@git.teletypegames.org:2222/tools/social-updater
|
||||
tools/statusbot|ssh://git@git.teletypegames.org:2222/tools/statusbot
|
||||
tools/tic80-draw-image|https://github.com/cxong/tic80-draw-image.git
|
||||
tools/ttg-marketplace|ssh://git@git.teletypegames.org:2222/internal/ttg-marketplace
|
||||
tools/updater|ssh://git@git.teletypegames.org:2222/tools/updater
|
||||
|
||||
tools_bbs/bbs-server|ssh://git@git.teletypegames.org:2222/tools/bbs-server
|
||||
tools_bbs/impostor-bbs|ssh://git@git.teletypegames.org:2222/games/impostor-bbs
|
||||
tools_bbs/sermo-bbs|ssh://git@git.teletypegames.org:2222/internal/sermo-bbs
|
||||
|
||||
tools_build/bevy-tools|ssh://git@git.teletypegames.org:2222/tools/bevy-tools
|
||||
tools_build/c64-tools|ssh://git@git.teletypegames.org:2222/tools/c64-tools
|
||||
tools_build/ebitengine-tools|ssh://git@git.teletypegames.org:2222/tools/ebitengine-tools
|
||||
tools_build/godot-tools|ssh://git@git.teletypegames.org:2222/tools/godot-tools
|
||||
tools_build/love-tools|ssh://git@git.teletypegames.org:2222/tools/love-tools
|
||||
tools_build/phaser-tools|ssh://git@git.teletypegames.org:2222/tools/phaser-tools
|
||||
tools_build/tic80-tools|ssh://git@git.teletypegames.org:2222/tools/tic80-tools
|
||||
tools_build/tic80pro-dockerfile|git@github.com:rastasi/tic80pro-dockerfile.git
|
||||
|
||||
tools_libs/gorpg|ssh://git@git.teletypegames.org:2222/games/gorpg
|
||||
tools_libs/inkwell|ssh://git@git.teletypegames.org:2222/games/inkwell
|
||||
tools_libs/rubbs|ssh://git@git.teletypegames.org:2222/tools/rubbs
|
||||
Reference in New Issue
Block a user