The setting is called `lfs.remote.searchall`, the `remote` part of it being
an exact string, it is not to be expanded with the name of the remote.
Whenever name of the remote is to be used Git documentation uses `<remote>`
syntax.
Tested by triggering the original issue (clone the Github mirror, make update,
wait for a new LFS object appear in the upstream, make update again). Before
this change the LFS object will not be fetched, and based on the Git Curl's
log only the github origin was used to fetch LFS object, none other remotes
were tried.
Also confirmed by checking the Git-LFS code:
https://github.com/git-lfs/git-lfs/blob/v3.7.0/config/config.go#L232
Pull Request: https://projects.blender.org/blender/blender/pulls/144574
Some users still have issues getting LFS files downloaded properly, though the
exact cause is unclear. Normally with a properly installed git lfs, git pull
should already take care of it.
When for whatever reason that is not the case and files have not been fetched
yet, now do lfs pull which is the same as lfs fetch + lfs checkout. Even when
git pull can not run.
Ref #143461
Pull Request: https://projects.blender.org/blender/blender/pulls/143478
Add a simple deprecation message to warn users that macOS pre-compiled
dependencies are no longer provided starting with 5.0, and that they
should either build the libraries themselves or downgrade to 4.5.
This is what the warning looks like in context:
```
$ make update
git lfs install --skip-repo
Git LFS initialized.
Configuring Precompiled Libraries
=================================
Detected platform : macos
Detected architecture : x64
Updating Libraries
==================
* Skipping lib/linux_x64
* Skipping lib/macos_arm64
* Skipping lib/windows_x64
* Skipping lib/windows_arm64
Update finished with the following messages
===========================================
Blender repository skipped: you have unstaged changes
WARNING: macOS x64/Intel support was dropped in Blender 5.0.
As such, pre-compiled dependencies are no longer provided.
You may build the dependencies yourself, or downgrade to Blender 4.5.
For more details, please see: https://devtalk.blender.org/t/38835
```
Pull Request: https://projects.blender.org/blender/blender/pulls/143133
The issue was that `git ls-files` will per default escape unicode
characters. This make it so that our python script couldn't find any
files or folder as it expected unescaped characters.
When binary files managed by git-lfs are not hosted by the main source
repo (e.g. when using the github mirror), the fall-back repo set up by
`lfs_fallback_setup` does fetch the files, but the follow-up call to
`git pull` in `work_tree_update` does not check them out.
This commit simply adds an extra `git lfs checkout` command there.
Pull Request: https://projects.blender.org/blender/blender/pulls/139825
Do it in make update tight after adding the remote. For some reason the
searchall mechanism does not work reliably immediately after checkout.
Fixes part of #139328.
For the official GitHub mirror and other repositories that do not include LFS
files, this adds an `lfs-fallback` remote. It will be used automatically if a
file can't be found on the regular remote.
Ref #137215
Co-authored-by: Sergey Sharybin <sergey@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/137615
This change moves the tests data files and publish folder of assets
repository to the main blender.git repository as LFS files.
The goal of this change is to eliminate toil of modifying tests,
cherry-picking changes to LFS branches, adding tests as part of a
PR which brings new features or fixes.
More detailed explanation and conversation can be found in the
design task.
Ref #137215
Pull Request: https://projects.blender.org/blender/blender/pulls/137219
bpy is not compatible with numpy 2+, as the VFX reference platform uses
1.26 atm. This fix amended the install requirement package to specify
numpy>=1.26,<2.0 to mitigate this issue.
Suggested by Brandy Johnston (@bradyajohnston)
Pull Request: https://projects.blender.org/blender/blender/pulls/134551
The platform tag came from virtualized CPU on which Python 3.9 is
running on the buildbot.
Use the same trick to detect the host CPU as for the message on the
splash screen.
Pull Request: https://projects.blender.org/blender/blender/pulls/136085
This makes it so that we ship the test data for every major release
in its own separate archive. (In case someone wants to easily run the
tests for a specific older release without using git)
Pull Request: https://projects.blender.org/blender/blender/pulls/135293
The goal of this test is to try to import some critical py scripts with the
system python of the building machine.
The main target is to ensure that these py scripts remain usable by all
buildbot machines, as some of them are using fairly outdated python
versions.
Current status:
* Scripts in `build_files` and `docs` are checked.
* Some python scripts in `build_files` were 'reverted' to be compatible
with older required python version currently (3.6).
* A few scripts are excluded from the test, mostly because they use Blender's
`bpy` module, which means they are only intended to be ran with Blender's
python anyway.
* The test is only enabled for Linux buildbots currently, as they use the
oldest Python by far.
Notes:
* Some more scripts are likely to be moved around in the future.
* Whether these tests need to be enabled on windows or macos platforms remains
an open question.
Pull Request: https://projects.blender.org/blender/blender/pulls/130746
Suppress unused warnings using the "vulture" utility.
- Include public definitions in the modules `__all__`.
- Mark arguments & variables as unused with a "_" prefix.
Support importing scripts without running their logic to
allow basic validation (see #130746).
Parts of !131037 were used.
Co-authored-by: Bastien Montagne <bastien@blender.org>
Remove assert statement from make_update.py, making it ready for any
architecture.
Add riscv 32, 64 and 128 bit cpu architecture with little/big endian
to Blender's BLI_build_config.h and Libmv's build_config.h
Tested (to compile) on riscv64 little endian machine.
Pull Request: https://projects.blender.org/blender/blender/pulls/130920
Buildbot uses Python 3.9, so it needs to be supported.
Arguably, the system-wide Python 3.6 needs to be supported to, but
it is a bit more tricky change, and is not a stopper for now.
Pull Request: https://projects.blender.org/blender/blender/pulls/130664
This is not an officially supported platform, but it was working before
so might as well keep it up to date.
* Tweak logic for various BLENDER_PLATFORM_ARM checks
* Use linux_arm64 name for folders, matching Windows and macOS
* CUDA is enabled, SYCL and HIP are not
* Tested to work on Rocky Linux 8
This change adds `--prune-destructive` command line argument to the
`make_update.py` script which ensures directories which used to be
an in-worktree checkout do not exist. Currently it is addons and
addons_contrib folders.
This gives buildbot an ability to ensure checkout used for build is
correct, regardless of which branch or patch was built there.
The option is needed because sometimes it is still required to be
able to build patches against v330 or v360 which still use the old
style of addons.
Alternative solution could be to ignore the folders in the INSTALL
command, but this could have impact on users who wants to package
custom addons.
The downside of this solution is that buildbot potentially will be
downloading addons and addons_contrib repositories every time it
builds a patch against v330 or v360. It should not be a problem in
practice since the repositories are rather small, and patches for
these tracks are not built very often.
Ref #126557
Pull Request: https://projects.blender.org/blender/blender/pulls/127798