Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Molenkamp <github@lazydodo.com>2021-10-27 02:48:16 +0300
committerRay Molenkamp <github@lazydodo.com>2021-10-27 02:48:16 +0300
commit99a2a737061c7a02c03d7dac4d464c842f0eae63 (patch)
treeaaffdafc9d9e570ca3eef4d47da8f09dc4273e0f /build_files
parent8d8ce6443530ac3e39276c7b7219e2a8ca61040f (diff)
win/make.bat: Add svnfix convenience target
SVN seems to die randomly *a lot* during large updates for some users, and I'm no closer to finding out why that keeps happening. "The internet" seems to imply some AV vendors may be at fault here but nothing conclusive. The solution however is repeatedly running `svn cleanup`and `svn update` in the library folder to repair the corruption and finish the update. This change adds a small convenience helper to automate the repair. This is done inside the make.bat code rather than the shared python based update code, since python lives in the library folder and may or may not exist when this corruption occurs.
Diffstat (limited to 'build_files')
-rw-r--r--build_files/windows/parse_arguments.cmd3
-rw-r--r--build_files/windows/svn_fix.cmd26
2 files changed, 29 insertions, 0 deletions
diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd
index c63f062dfef..dcef46c2c9a 100644
--- a/build_files/windows/parse_arguments.cmd
+++ b/build_files/windows/parse_arguments.cmd
@@ -116,6 +116,9 @@ if NOT "%1" == "" (
) else if "%1" == "doc_py" (
set DOC_PY=1
goto EOF
+ ) else if "%1" == "svnfix" (
+ set SVN_FIX=1
+ goto EOF
) else (
echo Command "%1" unknown, aborting!
goto ERR
diff --git a/build_files/windows/svn_fix.cmd b/build_files/windows/svn_fix.cmd
new file mode 100644
index 00000000000..a9dcdf36847
--- /dev/null
+++ b/build_files/windows/svn_fix.cmd
@@ -0,0 +1,26 @@
+if "%BUILD_VS_YEAR%"=="2017" set BUILD_VS_LIBDIRPOST=vc15
+if "%BUILD_VS_YEAR%"=="2019" set BUILD_VS_LIBDIRPOST=vc15
+if "%BUILD_VS_YEAR%"=="2022" set BUILD_VS_LIBDIRPOST=vc15
+
+set BUILD_VS_SVNDIR=win64_%BUILD_VS_LIBDIRPOST%
+set BUILD_VS_LIBDIR="%BLENDER_DIR%..\lib\%BUILD_VS_SVNDIR%"
+
+echo Starting cleanup in %BUILD_VS_LIBDIR%.
+cd %BUILD_VS_LIBDIR%
+:RETRY
+"%SVN%" cleanup
+"%SVN%" update
+if errorlevel 1 (
+ set /p LibRetry= "Error during update, retry? y/n"
+ if /I "!LibRetry!"=="Y" (
+ goto RETRY
+ )
+ echo.
+ echo Error: Download of external libraries failed.
+ echo This is needed for building, please manually run 'svn cleanup' and 'svn update' in
+ echo %BUILD_VS_LIBDIR% , until this is resolved you CANNOT make a successful blender build
+ echo.
+ exit /b 1
+)
+echo Cleanup complete
+