Can anyone recommend a source control solution for Visual Studio? I am going to be the only person using it, I just need something to back up my data every so often or before I undertake a big change in the software. I tried AnkhSVN, but this requires an SVN server. Is there anything that can be used locally that takes the pain out of copying solution folders manually?
You can use Dropbox with SVN, which is free. Sign up for one here. If you didn't like that first article, here's another one. You can pretty much google SVN Dropbox and you'll get all the information you need if these two posts are missing anything.
The advantage of using a Dropbox over local SVN is that you'll be able to get to your dropbox from anywhere, as opposed to only being able to SVN while at home.
With Subversion you can create local, file-system-based repositories for single-user access.
Probably the easiest way to use subversion (on windows) is to install TortoiseSVN. To create a repository, you simply create an empty folder in the location where you want the repository to be, right click that folder and select "TortoiseSVN -> Create repository here".
It is even possible (but not recommended) to create such a repository on a network share.
You can then access local repositories using a file-URL e.g: file:///D:/Projects/MyRepository
If you later find out that you need a server (e.g. to give other users access to the repository), you can easily install svnserve on a server and move the local repository to that server.
Just for completeness: as others have noted, there are several good clients for subversion (personally I'm using mainly TortoiseSVN and AnkhSVN):
- the subversion command line binaries
- TortoiseSVN (free, integrated into windows explorer)
- VSFileExplorer (free, gives you an explorer view inside Visual Studio and a allows you to access TortoiseSVN from there)
- AnkhSVN (free, integrated into Visual Studio)
- VisualSVN (commercial, integrated into Visual Studio)
- VisualSVN Server (free, a SVN server with a nice GUI)
You can use AnkhSVN (or any other SVN client) without a server. Just create a repository on your local disk and then point your working copy to it using a URL like file:///C:/Repositories/repo.
AnkhSVN has improved a lot, but I prefer VisualSVN myself. I think its interface is a little easier to work with (especially if you're used to TortoiseSVN, which it is based on) and it will handle things like automatically setting your build folders as ignored. It is commercial, but it is inexpensive.
I use Bazaar with Visual Studio. It does not have Visual Studio integration but it is easy enough to issue commands from the command prompt in a separate console.
I'm pretty sure that you can create a local repository with Tortoise SVN and use it with ankhSVN without a server.
You can use Mercurial: http://mercurial.selenic.com/wiki/. It's free, fast and easy to use. I use it for my personal projects.
Funny nobody mentioned Git just yet. Granted, it does have a learning curve, but I've been using it successfully within Visual Studio for the past year. Both commandline and with a GUI (GitExtensions).
Download Git for Windows from here.
Since it is a DVCS, it doesn't need a server. You can work against your local repositories publishing them to the world when needed (check out Github).
SVN is the way to go. I would look at using the VisualSVN plugin rather than anksvn as it is much more modern and worth every penny.
In a similar situation I'd go download and install Git Extensions. That's all.
That gives you a world-class revision control system (the same one used for the Linux kernel), integrated into Visual Studio and Windows Explorer. No server is required. However, it is fairly easy to set one up later if you want one.
They are a lot of cheep or free (for small teams) hosted source code control system. So if you wish to advoid running your own server rathern then not use a server at all, you should look at them.