diff --git a/Update.cmd b/Update.cmd index 26195865..2e703feb 100644 --- a/Update.cmd +++ b/Update.cmd @@ -1,56 +1,62 @@ @echo off +set ubk=Update.bk.cmd + +if not "%1"=="run" ( + copy /y "%~0" %ubk% + %ubk% run + del /f /q %ubk% +) + set maps_dir=sas.maps -set maps_url="https://github.com/sasgis/sas.maps" +set maps_url="http://parasite.kicks-ass.org:3000/sasgis/maps.git" -git status +git version -echo %ERRORLEVEL% +echo Return code: %ERRORLEVEL% -if ERRORLEVEL 9009 goto NoGit -if ERRORLEVEL 128 goto CloneRepo -if ERRORLEVEL 0 goto UpdateRepo -if ERRORLEVEL -1 goto CloneRepo +if ERRORLEVEL 9009 ( + echo Ошибка: Не установлен Git + start "" "https://git-scm.com/downloads" + goto end +) -goto err +if not exist ".git\" ( + goto CloneRepo +) else ( + goto UpdateRepo +) :CloneRepo echo Делаем клон репозитория с сервера rd /s /q %maps_dir% git clone %maps_url% %maps_dir% - if not ERRORLEVEL 0 goto err + if not ERRORLEVEL 0 ( + echo Ошибка связи с сервером + goto end + ) echo Копируем папку с репозиторием из подпапки в текущую папку xcopy /i /s /h /e /y %maps_dir%\.git .\.git - if not ERRORLEVEL 0 goto ErrorCopyGit + if not ERRORLEVEL 0 ( + echo Ошибка копирования папки .git + goto end + ) echo Удаляем временно созданную подпапку rd /s /q %maps_dir% - if not ERRORLEVEL 0 goto ErrorRemoveTemp + if not ERRORLEVEL 0 ( + echo Ошибка удаления временной папки sas.maps + goto end + ) goto UpdateRepo :UpdateRepo echo Обновляем файлы до последней версии git fetch --all --verbose - git clean -d -x --force + git clean -d -x --force --exclude="%ubk%" git reset --hard origin/master goto end -:err - echo Ошибка связи с сервером - goto end - -:ErrorCopyGit - echo Ошибка копирования папки .git - goto end - -:ErrorRemoveTemp - echo Ошибка удаления временной папки sas.maps - goto end - -:NoGit - echo Ошибка: Не установлен Git - goto end - :end pause \ No newline at end of file