views:

2170

answers:

16

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.

+5  A: 

Tortoise Svn, is free ...

CheGueVerra
But isn't source control - just a Subversion client.
Mark Brackett
I think Tortoise SVN can be used standalone for "server-less"/local repositories... making it ideal for a personal source control system. (except for the offsite backup part... but that should be handled differently anyhow)
AtliB
It is source control. You can right click-> create repository. It's super double plus ace.
IainMH
+7  A: 

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.

+3  A: 

I recommend SVN

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

Jason
+2  A: 

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.

FlySwat
The only problems I have with GitHub though is that their free hosting only allows public repositories, and they get far more expensive than even owning a server/virtualized server somewhere when you go higher (though no need to set it up yourself, of course).
Groxx
+35  A: 

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.

Jon Skeet
SKEEEEEEEEEEEEEEEEEEEEEEET!
FlySwat
do any of these work while dissconnected from the net and other computers?
baash05
Git and Mercurial are the best choices if you often work off-line.
Christian Vest Hansen
Hope you don't mind, but I added a note that those free hosts require that his project be open source.
Jason Baker
bitbucket.org (mercurial) allows you one private (non-open-source) repository.
Neil Williams
Eclipse has also great support for SVN (Subclipse, Subversive) and there's a Mercurial plugin in active development.I would definitely not recommend CVS for new projects, unless somebody wants/needs to support an already existing repository (or knows exactly what he's doing).
Kim Sullivan
+1 for subversion + TortoiseSVN
Tilendor
Subversion works great offline (don't need to install a server either, just use the file://-prefix).
runaros
Mercurial is better than Git in a Windows world. The DVCS tools look to be closer to what you are looking for (Git, Mercurial, Bazaar, etc).
Joshua
Git, Mercurial and Bazaar are great can you can commit on local and then commit online, so you can easily backup everytime you want without corrupt the repository
ykatchou
+4  A: 

Take a look here - collection of tools and opinions.

Ilya
+3  A: 

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.

John at CashCommons
+7  A: 

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)

Oren Shemesh
+3  A: 

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.

Per Ersson
Upvote because it is really easy to setup because you don't need a central repository which might be nice if you are working on something alone. Also it is very easy to make it cooperate with SVN and other VCS if you need to.
kigurai
+6  A: 

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

Serge - appTranslator
A: 

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.

Mark Brackett
I recommend it. I believe they have also freed up their RCS so that even multi-user is free.
torial
+2  A: 

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.

Kent Fredric
+2  A: 

Perforce

no_one
A: 

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.

Chris S
A: 

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

pablo