Blendit (Blender + Git) - Version Control for Blender

Interesting idea!
I have a few questions (guess I should download and play around with it to see).

  1. When does a “commit” happen? When the file is saved? Or does every action in blender generate some history in git? - If you think like with a python file in VS Code, you don’t really need to save all the text edits, just the diff at commit.
  2. If you’re just committing / saving when user saves (or something like that) why is the message bus system needed? Couldn’t you for instance make some custom operator that does a “save / commit” and at that point walk the blender file for data blocks that change and save their “diff”. For example, at that point look for all meshes, and diff from the previous.

Just curious how this works under the hood.

1 Like