After working out in the real world for a number of years now, I have come to rely on version control for controlling and protecting my files and work. Fortunately, at work we have a team of guys that manage the system and servers. As an artist, I simply check out a file, work on it, and check in my revision. Nice and simple.
I would love to impliment a very simple system like this for work at home.
I am looking for an easy to set up version control system.
To help narrow things down here’s a list of things that would be awesome:
This is for personal management of projects only (non-commercial)
Free/open source is preferrable, but inexpensive might work fine too
Mac OSX please
GUI front end. I can do scripting and command line stuff, but if I have to do too much of it to set it up, or check out/in files, I probably won’t end up using it
I don’t know if this is possible, but I’d love for it to be able to work locally. I’d rather not have to set up a server on another computer, but would prefer mirroring the project (working directory, and source directory)
I’d love to hear what you all are using or if you have recommendations for it. I was starting to look into Blender aid, but I couldn’t figure out if it did source control as well as file management…
hey, kdad, i’d recommend you look at git for many reasons. here are a few:
it works for osx, windows and linux.
it is free & open-source.
it works locally, no server setup
if you want a server and dont want to set one up, you can use github (http://github.com) or gitorious (http://gitorious.org) for free (blenderstorm source code is actually stored on gitorious)
if you have a server, it also works and lets you commit even if you are offline - this is awesome!
it is distributed, so you can have more than 1 server you push your commits to.
it is incredibly easy and safe to branch - unlike my experience with svn
if you use eclipse, there is a plug-in (egit) that integrates nicely with it
drupal is moving to git (ok, this is relevant only for me… )
It does indeed help! Thank you very much for the recommendation.
For anyone that is wondering what we are talking about, Source control, in short is a method/software by which you manage all of you files in a project(s) and account for versioning on them. It is particularly useful (I would argue necessary) on multi-user projects.
Think of it as a library and a versioning system rolled in to one. Once a file is added to the ‘source’, it can be referenced and read by anyone (with permissions). However, if anyone wants to alter a file, it needs to be checked out. This ensures that no one else can modify the same file at the same time. When work on a file is complete, the user checks it back in (preferably with a description of what they did to it).
The systems I am familiar with also create a version history on the server, so that at any point in time a user can step back through the file history and ‘get’ an older version of a file. Particularly useful when a bug pops up, as often times a bug will remain hidden for a version or two (or even prevent a file from opening properly), thus minimizing a single change from crippling a production.
There’s far more complicated tasks that they can allow (branching, etc.) but largely, just having a proper way to track versions of files is worth the effort, especially on complex projects.
I will look into Git tonight. Thanks for the recommendation!
no problem. let me know if you have any issues. my “issues”, so to speak, with git came from me being used to subversion and trying to understand git from a subversion point of view. once i got past that mind block, it has been fairly easy to work with git.