Subversion to Git LFS Migration on Feb 22

Hello everyone,

Just a quick announcement that tomorrow (February 22) we will migrate Subversion to Git LFS, including:

  • Precompiled libraries
  • Assets
  • Test data files
  • Benchmark scenes

We aim to start at 10am CET. The plan basically consists of the following steps:

  • Mark Subversion read-only
  • Migrate Subversion repositories to Git LFS repositories
  • Land make update with Git LFS support
  • Land updated documentation
  • Land buildbot configuration

During the migration time it will not be possible to commit updated tests data. We will focus on minimizing the downtime of the main and blender-v4.1-release branches. Unless something very unexpected happens, the whole process is estimated to take few hours.

Design task: #108978 - Migration of libraries to Git LFS - blender - Blender Projects

16 Likes

The changes are now live for the main and blender-v4.1-release branches. The LTS branches will be updated later.

How to Update

  • Make sure you have Git LFS installed.
    • Windows: should already come bundled with Git.
    • macOS: brew install git-lfs
    • Linux: Install git-lfs package with package manager (or run build_files/build_environment/install_linux_packages.py).
  • Get the libraries from the new Git submodules with these commands:
    • Windows: make update
    • macOS: make update
    • Linux: ./build_files/utils/make_update.py --use-linux-libraries
  • The files will end up in lib/<platform>_<arch>, now inside the Blender repository.
  • If you plan to bisect or otherwise build old versions, you can keep the old lib folder that exists outside the Blender repository. If not, you can delete it to save disk space.
  • For building, you will need to clear existing build folders to make it find the new library paths.

For Developers

  • Pull requests and branches need to be updated to a recent version of main or blender-v4.1-release, otherwise the buildbot will refuse to build them. Just a regular git merge or git rebase should do it.
  • To download test files into the new tests/data location.
    • python3 build_files/utils/make_update.py --use-tests
  • Committing the test data files is different now, see these instructions for main and for the release branch. The important thing is that the Blender repository tracks the exact submodule hash for tests, which should solve issues where the test data and Blender code was sometimes mismatched.
11 Likes

7 posts were split to a new topic: Changing make update to checkout precompiled linux libraries

NOTE: build_files/build_environment/install_linux_packages.py has now been updated to also ensure git-lfs is installed.

1 Like