[Addon] Blender Git Versioning

Hi,

i have created a simple addon for basic git versioning support.
That means you can commit and checkout blend versions from within blender.
You also can view a brief history of the current blend.
Furthermore basic branching support is there, but it probably is not much useful
because diffing and merging of binary files is not compareable to diffing text files.
(What to do if there is a conflict ? )

Screenshot:


You can find the addon zip in the blender addon tracker:

https://developer.blender.org/T41162

scorpion81

3 Likes

Thks scorpio81, I think about it yesterday and today you have made!
Congrats

This is great, scorpio81! Diffing and merging these data is very challenging indeed! If anyone is interested, I have done academic work on diffing and merging of meshes only (see http://cse.taylor.edu/~jdenning/research.html#journal). My published approach takes a very straight-forward approach and assumes as little as possible, which means it works well in general but may take a significant amount of time for certain types of meshes and types of edits. There are many ways to significantly improve the timing of my approach and handle certain types of edits very well… I just have not had the time recently to do this. If anyone would like to work on this problem (diffing and merging), feel free to ping me. I would be more than happy to discuss what I have learned so far!

amaze, talked about this a day ago, why there’s not built in git version control in blender and unity. and here it is a addon to use git on your blend files.

You know when committing if you type “something” and press enter twice, then type “something else”. in the committ log, the first something will become a title. and only shown in git apps like source tree. and you can click to expand to see the body text.

so it’s seperated with two enter strokes. only feedback I have so far before even trying is that maybe make the committ message field a bit larger, multi-line.

Or have two separate fields, one for “title” and one for “message”? The two could be concatenated with the extra new line characters inserted between - it might also be more intuitive people less familiar with repos?

Hi scorpion81,

I tested your Blendgit addon with a saved blend and fill the path to git on my Mint Serena.
The Git menu will change and show a lot of parameters. Could you quickly explain this parameters to good understand his use, please.
What make precisely your addon, please?
Thks in advance for your reply.
Spirou4D

Thank you for your great work, @scorpion81 !

I’m developing forked version, modifying and adding some UI and functions.
I want to destribute my version, but your Blendgit addon is not licenced.
If you permit redistribution, what licence should I use? (https://choosealicense.com/)

1 Like

as long as it’s using BPY it inherits Blender’s GPLv2 license.

1 Like

Oh, I had missed license of bpy, and checked here (https://www.blender.org/about/license/)

from Licence Details

The source code we develop at blender.org is default being licensed as GNU GPL Version 2 or later.

from Sharing or selling Blender add-ons (Python scripts)

Blender’s Python API is an integral part of the software, used to define the user interface or develop tools for example. The GNU GPL license therefore requires that such scripts (if published) are being shared under a GPL compatible license.

You are right, and I need to use GPLv2 or later compatible.
Thanks!

I published my repository. My forked version Blendgit is available from here

Thanks to @scorpion81!

1 Like