views:

619

answers:

11

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?

+1  A: 

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.

Sneakyness
It looks like your first link is broken.
Nick Meyer
Ah it tried formatting the link's underscores.
Sneakyness
+25  A: 

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):

M4N
But how? It says I need a "Repository URL", and if its something to do with localhost/127.0.0.1, I don't have a local server set up.
Callum Rogers
First you create a local repository. svnadmin create c:\temp\mysvn\As the repository URL, you just use file://c:\temp\mysvn\
nos
Thank you, this worked.
Callum Rogers
Honestly, I don't know why people are starting with a VCS like Subversion when better tools are available (Mercurial, Git).In my not so humble opinion: pick a DVCS over a central VCS like Subversion in this situation.
Sardaukar
mercurial and git is probably cool, but why bother if subversion does the job for you, is simpler to learn, with excellent IDE integration ? That's my not so humble opinion.
nos
@Nos. I've worked with Subversion (and TFS and Sourcesafe, etc) and I found its merge support to be abysmal in comparison with Git. The better merging and the cheap branching are *the* killer features for me. Subversion simply doesn't come close.But yes, IDE integration is probably nicer. But do try GitExtensions - a Visual Studio plugin for Git.
Sardaukar
I've never done a merge, and precious few branches. Those are not compelling features for everyone.
recursive
+7  A: 

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.

Nick Meyer
VisualSVN is not free.
Callum Rogers
I did point that out, and the question didn't specifically request free software.
Nick Meyer
Sorry, anyway thanks for the suggestions.
Callum Rogers
+3  A: 

VisualSVN can operate without SVN server/

Anton Gogolev
+1  A: 

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.

martijn_himself
+2  A: 

I'm pretty sure that you can create a local repository with Tortoise SVN and use it with ankhSVN without a server.

yeyeyerman
+5  A: 

You can use Mercurial: http://mercurial.selenic.com/wiki/. It's free, fast and easy to use. I use it for my personal projects.

Lloyd
+11  A: 

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).

Sardaukar
Git is what I'd use in the same situation.
T.E.D.
I'll try git as well.
Callum Rogers
If you do, just click his GitExtensions link and install that. It comes with Git.
T.E.D.
I usually install Git separately from GitExtensions. GitExtensions tends to lag behind with the combined Git installation.
Sardaukar
+1 This calls for git or something similarly simple.
Matt Ellen
+2  A: 

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.

Wyatt Barnett
+2  A: 

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.

T.E.D.
A: 

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.

Ian Ringrose