I7 and svn?

I just tried to add my I7 projects directory to my personal svn repository. It looked like everything went okay, but now I’m having a weird problem:

$ svn ci
svn: Working copy '/Users/mike/eyeballsun/i' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

$ svn cleanup
svn: 'headache.inform/Build' is not a working copy directory

What it looks like is that instead of just updating files within the Build and Source directory of a project, the IDE is completely replacing those directories, including the .svn subdirectories that Subversion uses to keep track of them. This could be a really nasty situation.

Has anyone actually managed to keep their I7 work in Subversion? Got any tricks for me?

Thanks.

Yeah, that’s exactly what’s happening. What I’m doing right now is that I run a script that copies the relevant files to another folder before submitting that folder to SVN. It’s one extra step but on the other hand at the same time I have the script to do other stuff like copy the relevant extensions to the same folder to be stored in the repository with the source code.

Yes, it’s a known headache, specific to Mac. I do copy-fu but should probably automate it like Juhana.

It seems svn does not respect the Mac’s “bundle” type as being opaque, instead treating it like any ol’ folder.

You may want to consider using a VCS that keeps all of its metadata in a single top-level folder, like Mercurial or Git.

Ugh! What a drag. Thanks for the suggestions - I’ll probably do something like Juhana’s solution.

I’m wondering - The svn repository has hooks so you can do various things on the server before and after committing. But does the svn client have any hooks so you can do anything with the working directory before committing or checking out (like copying your Inform files into your working directory?)

Ben Collins-Sussman wrote this in RAIF some time back:

There’s also some information in the Rover’s Day Out README (on the Google project page: code.google.com/p/rovers-day-out/)