Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the best cross-platform Version Control System for a very small team?

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!

like image 478
Donald Hughes Avatar asked Mar 06 '10 15:03

Donald Hughes


People also ask

What is the most widely used version control system?

Git. Without a doubt, Git is the single most popular version control system in use.

What is one of the oldest version control systems and is a well known tool among developers?

CVS Version Control (Concurrent Versions System) CVS is one of the oldest version control system and is a well-known tool among both commercial and open source developers. It allows you to check out the code you are planning to work on, and check-in the changes.

Could a team of developers be successful without version control systems?

Complex code development is impossible without a Version Control System (VCS). Version Control is used to track and control changes to source code. It is an essential tool to ensure the integrity of the codebase.

Is Git the best source control?

Git is one of the best version control tools that is available in the present market. Provides strong support for non-linear development. Distributed repository model. Compatible with existing systems and protocols like HTTP, FTP, ssh.


2 Answers

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.

like image 160
Robin Layfield Avatar answered Sep 28 '22 22:09

Robin Layfield


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.

like image 26
Paul Nathan Avatar answered Sep 28 '22 20:09

Paul Nathan