diff options
Diffstat (limited to 'build_files/utils/make_update.py')
-rwxr-xr-x | build_files/utils/make_update.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/build_files/utils/make_update.py b/build_files/utils/make_update.py index e0417bc6f09..778ba09bd21 100755 --- a/build_files/utils/make_update.py +++ b/build_files/utils/make_update.py @@ -41,6 +41,11 @@ def svn_update(args, release_version): lib_dirpath = os.path.join(get_blender_git_root(), '..', 'lib') svn_url = make_utils.svn_libraries_base_url(release_version) + # List of directory names which corresponds to used SVN checkouts. + # Is used to ensure the checkout points to a valid branch/tag. + # Should consists only of directory name, such as "win64_vc14", for example. + used_lib_dir_names = [] + # Checkout precompiled libraries if sys.platform == 'darwin': lib_platform = "darwin" @@ -58,6 +63,8 @@ def svn_update(args, release_version): if lib_platform: lib_platform_dirpath = os.path.join(lib_dirpath, lib_platform) + used_lib_dir_names.append(lib_platform) + if not os.path.exists(lib_platform_dirpath): print_stage("Checking out Precompiled Libraries") @@ -72,6 +79,8 @@ def svn_update(args, release_version): lib_tests = "tests" lib_tests_dirpath = os.path.join(lib_dirpath, lib_tests) + used_lib_dir_names.append(lib_tests) + if not os.path.exists(lib_tests_dirpath): print_stage("Checking out Tests") @@ -86,20 +95,13 @@ def svn_update(args, release_version): print_stage("Updating Precompiled Libraries and Tests") if os.path.isdir(lib_dirpath): - for dirname in os.listdir(lib_dirpath): + for dirname in used_lib_dir_names: + print_stage("Updating {}" . format(dirname)) dirpath = os.path.join(lib_dirpath, dirname) - if dirname == ".svn": - # Cleanup must be run from svn root directory if it exists. - if not make_utils.command_missing(args.svn_command): - call(svn_non_interactive + ["cleanup", lib_dirpath]) - continue - svn_dirpath = os.path.join(dirpath, ".svn") - svn_root_dirpath = os.path.join(lib_dirpath, ".svn") - if os.path.isdir(dirpath) and \ - (os.path.exists(svn_dirpath) or os.path.exists(svn_root_dirpath)): + if os.path.isdir(dirpath) and os.path.exists(svn_dirpath): if make_utils.command_missing(args.svn_command): sys.stderr.write("svn not found, can't update libraries\n") sys.exit(1) |