Question

At work I use something called team foundations services. It's a source saving tool that stores change sets of code I "check in". Is there a similar product that's good for a single programmer. Something I could use at home.

Easy to set up and use is a must.

Free is a plus but I'd of course pay for one.

edit
I suppose I should have added that I spend 90% of my time OFF THE GRID.

Was it helpful?

Solution

There are lots of free source control systems. For example:

(And more...)

They all have pros and cons, different levels of integration with various IDEs etc. Personally I like Subversion (with VisualSVN for Visual Studio integration; there's also AnkhSvn for VS and TortoiseSvn for Explorer integration). Git is great but doesn't have as much Windows support.

In many cases there are hosting sites (such as SourceForge, code.google.com, github etc) which provide free hosting, but note that most of these require that your app be open source.

In every case, you should really spend a little while learning the concepts involved - the difference in productivity between "I'm nervous of what's going to happen" and "I can be confident what's going on" is amazing.

OTHER TIPS

Perforce (www.perforce.com) is intuitive, fast and great, and it is free for two users (With up to five workspaces). Good Linux and Windows support. Super-simple installation.

If you install the server on the same machine as the client (Which would be your PC), then you do not need the grid to use it (But this is probably true for any source-control product, not just Perforce)

You can try CVS or SVN (SubVersion). There are lots of GUI clients for these (ex. TortoiseCVS, TortoiseSVN).

Stay away from Visual SourceSafe, it has a tendency to get corrupted.

Source Gear Vault. Free for one developer. Excellent integration in VS.

Tortoise Svn, is free ...

I recommend SVN

SVN itself is free, but I host mine through wush.net and get the added benefit of offsite backups.

Here's an article on the important parts of Subversion for the standalone programmer. Specifically, it talks about the features that you really don't need to set up if you're working by yourself.

I have used bazaar (a.k.a bzr) for some time now and have found it an excellent (and free) version control tool, check it out here: http://bazaar-vcs.org/

bzr is a distributed version tool just like git but is IMO simpler to setup and use.

I'd reccomend setting up the source control server on a seperate machine than your development rig.

If you want to use Git, you can use GitHub for free repository hosting.

For what you are doing Distributed Source Code Control sounds the best option.

Having Used both Git & Mercurial, I can say they're definitely better than using something like SVN, for instance, if you want to send a payload of changes to the main dev tree but don't have direct commit access, you can send them a patch set quite easily of all you're changes.

When you are on-the grid, you can just send commits upstream directly.

And unlike SVN/CVS, you don't have to be connected to the grid in order to be able to commit. ( You can set up a local SVN/CVS server, but that wont work with 'the grid' server )

There may be a low barrier to entry for SVN, but considering the changes in SCMs, you are much much better off learning something more flexible from the Distributed family. especially given your circumstances of working.

I would recommend using an online source control system, then you don't have to worry about backups and you get a lot of nice extra features, like wikis, viewing every changeset via the browser.

My recommendations are both Mercurial based:

  • Bitbucket (free for less than 5 users)
  • Kiln (free for students and startups, e.g. 1 user)

I've tried out Subversion, my own TFS server, Sourcegear vault. Mercurial is by far the easiest in my view, and an online repository means no backup worries.

If Mercurial scares you, Joel Spolsky has a good tutorial on it. It works like Git where you can perform commits offline, which you then push.

Give a try to Plastic SCM Community Edition. Distributed + graphical + good branching and even better merging. And free.

The absolute easiest source control system I've ever used is Component Software's RCS. They have a free single user license. It's based off of, and compatible with, GNU RCS, which is a super simple system really only suited (IMO) to single user or very small teams.

It has a significantly reduced feature set (no branching, tagging, or repository revisions) - but doesn't need a central repository or any server setup either. Probably it's biggest limitation is that it only works on single files, but I really haven't had that be an issue in personal use.

If you want/need something more sophisticated, I'd recommend Subversion. Since that's what I use at work currently, I also use it at home for consistency - but I rarely find myself needing the extended feature set for personal projects.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top