-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathupdate.bat
More file actions
56 lines (49 loc) · 1.58 KB
/
update.bat
File metadata and controls
56 lines (49 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
if "%~1" == "/update" goto update
copy "%~f0" "launch.bat" >nul
start "" "launch.bat" /update
exit
:update
git rev-parse --is-inside-work-tree >nul 2>&1
if errorlevel 1 (
echo 📦 Клонирование...
git clone https://github.com/RoVoid/CardGame.git temp_clone >nul 2>&1
robocopy temp_clone . /e /move /np /nfl /ndl >nul 2>&1
rd /s /q temp_clone >nul 2>&1
echo ✅ Клонирование завершено
echo 🗃️ Установка NPM-Пакетов...
call npm install >nul
echo ✅ Установка завершена
echo 🛠️ Сборка JS...
call npm run build >nul
echo ✅ Сборка завершена
echo:
goto launch
)
git fetch origin >nul 2>&1
for /f %%i in ('git rev-parse HEAD') do set "LOCAL_COMMIT=%%i"
for /f %%i in ('git rev-parse origin/main') do set "REMOTE_COMMIT=%%i"
echo 🖥️ Локальный коммит: !LOCAL_COMMIT!
echo ☁️ Удалённый коммит: !REMOTE_COMMIT!
echo:
git merge-base --is-ancestor !REMOTE_COMMIT! !LOCAL_COMMIT! >nul 2>&1
if errorlevel 1 (
echo 🔄 Обновление...
git pull >nul
if errorlevel 1 (
echo ⚠️ Синхронизация не удалась!
echo:
goto launch
)
echo ✅ Синхронизация завершена
echo 🛠️ Сборка JS...
call npm run build >nul
echo ✅ Сборка завершена
echo:
)
:launch
echo ⏱️ Запуск игры...
call npm run start
del /f /q "%~f0" >nul && pause && exit