I read an interesting SO discussion on putting separate projects in their own repos or not. But my question is about a single project, which has code, and then a lot of artwork – hundreds of Mb at least. At a simple usability level, it’s annoying that telling a developer to “go get a working copy” means waiting ages for the whole art section to download. And I’m concerned this is going to be a big bloat when we use branches more.
Conceptually it’s one project. But when I’ve worked with repos which expect me to individually get working copies of several sub-directories, things seem to screw up somehow. Through user error most likely, but the whole point is to make suer errors less easy to make!
Another problem I seem to remember is setting per-user permissions on sub-directories won’t let people simply get a working copy of the repo, with the unauthorized folders omitted. Instead, it just breaks… I don’t really want my artists able to change (or even see) code.
I’d still put the into one repository, to allow you to branch and merge this project centrally. Especially when tagging release, you’d have to tag in 2 repositories when releasing.
You could do a structure like this:
And tell developers to only checkout
src, art people checkoutartwork, and when branching, you can branch/tagtrunk