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:
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!