Files
2026-01-23 19:58:24 +00:00

59 lines
1.7 KiB
Batchfile

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
set "REPO_URL=https://git.diggerwf.cloud/diggerwf/Brokkoli-Giess-Plannung-Helfer.git"
set "BRANCH=main"
set "ORIGIN=origin"
set "REPO_DIR=%~dp0"
set "START_FILE=start4.bat"
set "SELF_NAME=update.bat"
set "TEMP_NAME=temp_updater.bat"
set "SKIP_PARAMS=-e config.json -e settings.txt -e db_config.ini -e logs/ -e saves/ -e __pycache__"
cd /d "%REPO_DIR%"
if "%~nx0"=="%TEMP_NAME%" (
echo Update-Modus aktiv...
timeout /t 2 >nul
git fetch %ORIGIN% %BRANCH% --quiet
git reset --hard %ORIGIN%/%BRANCH% --quiet
git clean -fd %SKIP_PARAMS% >nul
call "%SELF_NAME%"
pause
exit /b
)
if exist "%TEMP_NAME%" del /f /q "%TEMP_NAME%"
echo Pruefe auf Updates...
git --version >nul 2>&1
if %errorlevel% neq 0 (
echo Git nicht gefunden!
pause
exit /b
)
if exist ".git\" (
git remote set-url %ORIGIN% "%REPO_URL%"
git fetch %ORIGIN% %BRANCH% || (echo Fehler: Server nicht erreichbar & pause & exit /b)
for /f "tokens=*" %%a in ('git rev-parse HEAD') do set "LOCAL_HASH=%%a"
for /f "tokens=1" %%a in ('git ls-remote %ORIGIN% %BRANCH%') do set "REMOTE_HASH=%%a"
echo Lokal: !LOCAL_HASH:~0,7!
echo Online: !REMOTE_HASH:~0,7!
if "!LOCAL_HASH!" neq "!REMOTE_HASH!" (
echo Update verfuegbar...
copy /y "%SELF_NAME%" "%TEMP_NAME%" >nul
call "%TEMP_NAME%"
exit /b
) else (
echo Alles aktuell.
)
) else (
echo Ersteinrichtung...
git init --quiet
git remote add %ORIGIN% "%REPO_URL%"
git fetch --all
git reset --hard %ORIGIN%/%BRANCH%
git clean -fd %SKIP_PARAMS%
)
if exist "%START_FILE%" (
call "%START_FILE%"
) else (
echo Fehler: %START_FILE% nicht gefunden!
pause
)