Re-design of submodules used in blender.git #104755
No reviewers
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#104755
Loading…
Reference in New Issue
No description provided.
Delete Branch "Sergey/blender:submodules_refactor"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Basically, implementation of the #104573.
Combines changes to the repository itself, as well as changes to
make update
.The
make update
also modified to support Github style ofupstream
remote configuration.@ -964,2 +963,2 @@
"This is a 'git submodule', which are known not to work with bridges to other version "
"control systems."
"Translation path '${CMAKE_SOURCE_DIR}/locale' is missing. "
"This is an external repository which needs to be checked out. Use `make update` to do do. "
to do do? -> to do so
@ -956,3 +956,3 @@
if(WITH_INTERNATIONAL)
file(GLOB RESULT "${CMAKE_SOURCE_DIR}/release/datafiles/locale")
file(GLOB RESULT "${CMAKE_SOURCE_DIR}/locale")
Is this check even needed anymore now that you have included all the
locale
files into the main repository?I think this check should always succeed now if a standard git clone was successful.
Either way, the error message doesn't make sense anymore as it is not a external repository anymore.
Indeed this block can be removed.
@ -14,3 +14,3 @@
- branch: main
commit_id: HEAD
path: release/datafiles/locale
path: datafiles/locale
I think we should scrub the repo of other
locale
related entries like these as well, right?This whole section could be removed as well as they are not
submodules
anymore.The
locale
andtools
should be removed from the pipeline_config indeed. The rest need to stay as addons are not managed by the main repository.Not sure there is more clear name that
submodule
, can rename it toexternals
but is also not that important. More imporant is to have the buildbot to support the new organization of folders.If you can spot the cases i've missed in the main repository you can as well make changes directly (the PR is marked for being editable by maintainers). The only missing case I am aware of is in the addons repository, which can not be included into this patch.
Is the
source/tools
related changes missing or am I blind? XD(They have not been added to the main repo)
I missed references in the build system and tools to rename
source/tools
totools
, it is fixed now.The tools are in the main repository, you can see it in the https://projects.blender.org/Sergey/blender/src/branch/submodules_refactor/tools
But I indeed don't see those files in the PR.
Guess here goes another bug in Gitea.Edit: You can see those by clicking on the
Some files were not shown because too many files have changed in this diff
at the bottom of theFiles Changed
few times.Ah, I missed that as well. Thanks for pointing it out! :)
When I checkout this branch I get this message. Not expecting us to do something about it, just something to be aware of.
Then I did
make update
and got this, because I was in a worktree directory instead of the original directory.I guess it is reasonable to just print a warning for that case, for advanced users that are using worktrees?
@ -206,0 +269,4 @@
print(f"Copying {old_submodule_relative_dir} to scripts/{directory_name} ...")
old_submodule_dir = blender_git_root / old_submodule_relative_dir
shutil.copytree(old_submodule_dir, external_dir)
I was expecting this to move rather than copy. Now the directory stays behind. If we wanted to do that it should be git ignored at least? I guess also for bisect.
This seems to be working fine for me now, including worktrees and going back and forth with older branches.
Still probably someone else who knows how to recover from Git problems should try this.
@ -52,0 +64,4 @@
/release/scripts/addons
/release/datafiles/locale/
/release/scripts/addons_contrib/
/source/tools/
As far as I can tell the trailing slashes make no difference, but maybe best to leave them out for consistency.
We quickly talked about this with Brecht. Decided to add them everywhere instead. Seems to be that in the current state of .gitignore we use the trailing slash more than we don't :)
Indeed! Added everyone else as a reviewer who's input will be very welcome here.
had the same warnings brecht had, which may lead to questions from some users (but not worth trying to suppress imho), but beyond that remarkably smooth transition by just running
make update
Generally seems fine,
tests/python/bl_keymap_completeness.py:8
needs"release", "scripts"
to be replaced with"scripts"
.Some notes:
After this change it's no longer possible to symlink
release/
into{BUILD_DIR}/bin/{MAJOR_VER}.{MINOR_VER}/
to bypass theinstall
target. While I don't see this as an argument to keepscripts/
under release, it may be worth mentioning (IIRC @JulianEisel uses/used this trick too).Quite a few scripts within
tools/
will need updating (searching for__file__
) shows these cases. Not an issue with this PR, just something to do once it's applied.Sorry, misclicked.
Symlinking just the scripts folder instead of the entire release folder could still be made to work?
The
scripts
andrelease/datafiles
are all that are needed, it's a bit awkward to link in from different directories (perhapsdatafiles
could be moved into the root directory too), worst case I'll make a script that sets up symlinks.f87e62cae3
to90760f6e2b
@blender-bot build
@blender-bot build