It’s common during a production to have your own copy of blender in your repository. It can be a stable blender that your production relies on, a snapshot from the current svn or, also common, a patched Blender prepared specially for your project.

In projects using the Blender Game Engine this is even more crucial. The blenderplayer should be kept as part of the deployment process of your project.

I recently started to love and hate the use of svn:externals with svn exports. This is a handy (and sloooooow) setup that allows you to create a release folder with files gathered from all over your svn production repository. So you can work as you would in your production folders, and when you want to send a snapshot for a client you simply do a svn export from the ‘release folder’ (a folder smartly arranged to have only the production files you need (kept in sync from the production folder) and even some extra files that are to be used only for release (e.g. icons, readme.txt, runme.bat, …).

The problem I just ran into is that not all blender files are automatically added to your svn repository. As tricky as it sound, some files (i.e.  the .so files from the 2.62/python/lib/python3.2/lib-dynload folder) are not added automatically when you do svn add (either from a command-line or from svntortoise). This concerns Linux and Mac users.

After a lot of head banging and the incredible help of `diff -u ‘working copy’ ‘broken copy’ I found out that those missing files are ignored by default, and this is part of the svn design:

http://old.nabble.com/Svn-1.5.3-seems-to-enforce-svn:ignore-on-.so-files-by-default-td21925425.html

Well, now you know. You can either change the global settings or add the files manually.

I hope this saves you some time 😉
I ran into this problem 3 times already and now I finally went down to investigate it through.

I’m glad it wasn’t something I was doing wrong (well technically it was :p). But I’m even more glad that it’s crystal clear now.

And happy carnival for you too!

Dalai

2 Thoughts on “Keeping Blender in your repository? Watch out!

  1. Thanks for sharing, Dalai. I haven’t been able to get this far to SVN (PySVN Workbench in Ubuntu), since I’m only working mostly on simple chekouts, commit, update, and what not of .blend files, .dwg files, and texture images.

    If I had experienced the same as what you have, I must’ve banged my head a lot. 😉

    “I found out that those missing files are ignored by default, and this is part of the svn design” – not good. Tsk tsk.

    I’m happy that you were able to work around it.

    Thanks for sharing, Dalai.

    -Reyn

  2. Hi Reynante,

    I’m glad you enjoyed it. I know this is a quite advanced/specific problem, but I realized more people may run into that now that the whole python is bundled with Blender.

    The tricky part of this ‘bug’ is that you only notice the problem once you check out your repository in another computer.

    I don’t mind that they have .so ignored when you do `svn add`. What bothers me is that it’s also ignored when you do `svn st`.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post Navigation