views:

109

answers:

4

I'm looking for a no-headache version control system to manage my personal projects, those of my wife's, and for collaboration with a few other diverse individuals on a project-by-project basis. I would also like it to be a no-brainer for giving someone access to a project.

This should be a system that is easy to install on a windows or linux VPS, and easy for nontechnical people to install and use from Mac or Windows. It would also be nice to have a nice web interface for being able to quickly visualize changes.

One of the goals I'm trying to accomplish as well is to make sure everything goes into the system so that I am free to work on projects at my workstation at home, checkin all code and assets, drive to the office, checkout all the code, and continue working where I left off. The checkin again, drive to someone else's office and checkout the code on my laptop.

Ideally, this system should be user-friendly from Microsoft Visual Studio, Apple's Xcode, or any of JetBrain's IDEs (particularly RubyMine).

I'm guessing Subversion is probably going to be the winner because of the amount of time it's had to build up good tool support. However, when I last tried Subversion on the Mac a couple of years ago it didn't work out very well with the designer I was working with. Perhaps it was the GUI we were using. Pulling from an SVN repository is trivial on the command line, so maybe I just need to give it another chance. Most of my hesitation is in investing time and effort into VCS that might be becoming obsolete.

Bazaar, and to a less extent Mercurial, both seem to be cross-platform and user-friendly. Bazaar seems to have a much smaller user base than all the others, but I think that might be because it's newer. I think their mission statement is fairly close in alignment to what I'm trying to achieve, as well. Git seems to have a ways to go in being easy for non-technical people to get up to speed on. And it's Windows support seems to lag behind the others.

I had considered a service like Github or Launchpad, but since I work on many small, private projects it becomes very expensive to do so. Perhaps using the Launchpad source code on my VPS server would be an option? Will it run on Windows, and is it difficult to install?

Those are my thoughts. Please correct me if I'm wrong, and offer any other suggestions. Thanks for the help!

+1  A: 

I prefer Mercurial for its ease of use in cross-platform systems. Bazaar lagged in development effort in their 1.x release set and had some issues. Their 2.x releases look nice. Git is something I've consistently thought was too difficult to invest effort in when using it on OSX/Windows, especially considering that hg and bzr are comparable in capabilities.

Paul Nathan
Git is totally a pain to get working in Windoze, or I might have recommended that too.
ewall
Mercurial was our selection for those same reasons, and has worked well so far. It seems to do a good job of explaining what's happening or why something might not have worked. Very nice for a Mercurial novice.
Donald Hughes
A: 

While it isn't a source control tool you might consider dropbox. It is very easy for designers to use as they just work in it like it is a normal folder and never have to worry about committing or merging or pulling. There is versioning built into it but you would probably have to do the diffing by hand.

https://www.dropbox.com/

stimms
they may not have to worry about merging, but they have to worry about overwriting each others' work. With a version control system there's no chance of that happening.
Bryan Oakley
Yep, you're absolutely correct. You would have to gague the win from simplicity over the possibility of overwrite. However dropbox does allow rollback and many design files are binary so overwrite is the only option anyway.
stimms
+1  A: 

I think subversion, along with svntrac are the right tools for the job. It's pretty easy to use, there are nice tools on windows, and svntrac makes it easy to see every day who did what.

Bryan Oakley
+2  A: 

For the kind of project / access that you are describing, I would say Subversion is definitely the way forward; it's easy to work with, it's well established and it's very well supported across the board.

SUBVERSION & OS X

Version control apps available on mac have come a long way over the last couple of years. In particular, I'd recommend Versions for Mac, which when coupled with Beanstalk repository hosting (http://www.beanstalkapp.com) is a killer combination. Beanstalk does all the nice stuff like diffing and managing access to the repository, Versions lets you browse the repository, view the timeline and do commits, ignores and updates in a very clean visual manner. One other plus point for Beanstalk - if you are working with Graphic Designers, Beanstalk lets you do visual version comparison through its web interface, as well as working directly with a Photoshop plugin called PixelNovel.

Versions isn't quite as capable as the command line for some of the more esoteric stuff but for day-to-day use it's great. SVNX is another contender on Mac, it is slightly more versatile but at the cost of being slightly more fiddly to set up and work with.

SUBVERSION & WINDOWS

On the PC, Tortoise SVN rules the roost, it's perfect and it too integrates tidily with any Subversion host. There's also an app from Collabnet, called AnkhSVN which plugs directly into visual studio but I actually prefer managing everything through Explorer.

Robin Layfield
+1: Tortoise is perfect for your Windows don't-make-me-think source control needs.
ojrac